使用 Nuxt.js 从页面组件的 asyncData() 方法调用 mixin 函数

Dmy*_*nko 4 mixins vue.js nuxt.js asyncdata

我可以asyncData()使用 Nuxt.js从页面组件的方法中调用 mixin 函数吗?

我的代码:

<template>
  ...
</template>
<script>
   import api from "@/plugins/api/api.js"

   ...

   export default {

      ...

      async asyncData(context) {
          ...
          context.apiMethodName()
          ...
      }

      ...
   }

   ...
</script>
Run Code Online (Sandbox Code Playgroud)

api.js

import Vue from 'vue'
import API from '@/assets/js/api'

Vue.mixin({
  methods: {
    apiMethodName() { ... }
  }
})
Run Code Online (Sandbox Code Playgroud)

Ald*_*und 6

你不能使用 asyncData 调用 vue 方法,因为 asyncData 在 vue 有一个实例之前执行。

您可以将方法提取到简单的 js 函数中,并在 asyncData 和 vue 方法中调用它,但请记住,在 asyncData 中,您将无法访问 vue 实例属性和其他方法