从 asyncData 访问组件方法 - nuxtjs

Elo*_*ati 5 vuejs2 nuxt.js

我正在使用 nuxtjs,我试图弄清楚是否可以从异步数据函数访问组件方法。

例如,我想做这样的事情:

methods: {
    parseResult(data) {
        // do somthing with data...
    }
},

async asyncData({ app }) {
    const { data } = await app.$axios.get('/some/api')
    return app.parseResult(data)
},
Run Code Online (Sandbox Code Playgroud)

Ald*_*und 9

你不能。它在文档中说明

您无法通过 asyncData 内部的 this 访问组件实例,因为它在启动组件之前被调用。

您可以将您的方法移动到 vuex 存储并从 asyncdata 调用它

  • 如果根本不需要访问组件,您也可以简单地将方法移到 Vue 组件之外(就在其上方),并将其作为普通 JS 函数调用。 (3认同)