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

Vue.js 使用Nuxt.js从页面组件的asyncData()方法调用mixin函数,vue.js,mixins,nuxt.js,asyncdata,Vue.js,Mixins,Nuxt.js,Asyncdata,我可以使用Nuxt.js从页面组件的asyncData()方法调用mixin函数吗 我的代码: <template> ... </template> <script> import api from "@/plugins/api/api.js" ... export default { ... async asyncData(context) { ... contex

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

我的代码:

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

   ...

   export default {

      ...

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

      ...
   }

   ...
</script>

不能使用asyncData调用vue方法,因为在vue具有实例之前执行的asyncData


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

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

Vue.mixin({
  methods: {
    apiMethodName() { ... }
  }
})