尝试将常量调用到视图时出错:未定义该方法

Eli*_*nda 9 javascript vue.js

谢谢你给我的帮助...

我正在尝试调用一个常量,因为它应该返回一个值。在这种情况下,在方法中,有一个函数返回一个字符串。稍后我会派他到另一个景点听他的电话。

我有一个视图,我调用了 2 次,因为我尝试用不同的信息打印 2 个轮播。

<app-carousel v-if="trendingMovies" :title="$t('home.new_movies')" :view-all-url="MoviesUrl" :data="trendingMovies"></app-carousel>
<app-carousel v-if="trendingSeries" :title="$t('home.new_tv_series')" :view-all-url="SeriesUrl" :data="trendingSeries"></app-carousel>
Run Code Online (Sandbox Code Playgroud)

在出口默认我有这个:

async asyncData () {
  try {
    const trendingMovies = await this.treding('movies');
    const trendingSeries = await this.treding('series');

    return { trendingMovies, trendingSeries };
  } catch {
    console.log(404);
  }
},


methods: {
  async treding(media) {
    let { data } = await axios.get('/api/v1/get/type/' + media);
    return await data.list;
  },
}
Run Code Online (Sandbox Code Playgroud)

我想要做的是将其各自的字符串存储在每个常量中,然后将其传递给轮播视图。

问题是我总是在<app-carousel>标签中收到以下错误。

错误的图像。

Her*_*wan 1

您可以尝试使用以下方法重构 asyncData:

async asyncData () {
  let trendingMovies = null;
  let trendingSeries = null;
  try {
    trendingMovies = await this.treding('movies');
    trendingSeries = await this.treding('series');
  } catch {
    console.log(404);
  }
  return { trendingMovies, trendingSeries };
},
Run Code Online (Sandbox Code Playgroud)

这样,它可以确保 asyncData 始终返回正确的数据对象。