asyncData生命周期在Nuxt&Vue中无法正常工作

时间:2019-04-06 14:01:52

标签: javascript vuejs2 nuxt.js

我想在AsyncData生命周期中获取数据以获取服务器端Axios doesn't work inside AsyncData,以便不重写数据项。

有什么解决办法吗?问候。

<template>
   <div>
       <div> messages: {{ messages }} </div>
       <div> enable: {{ enable }} </div>
   </div>
</template>

<script>
export default {
  data () {
    return {
      messages: '',
      enable: false
     }
   }
  mounted (){
   // Something.......
  },
  async asyncData () {
        await this.axios.get('sample url') 
         .then(({result}) => {
            let value = JSON.parse(result.value);
            return {
                messages: value.messages,
                enable: value.enable,
            };
        });
    }
  }
</script>

1 个答案:

答案 0 :(得分:-1)

您不会从asyncdata返回任何内容。它应该是返回一个promise或等待数据并返回

asyncData () {
        return this.axios.get('sample url') 
         .then(({result}) => {
            let value = JSON.parse(result.value);
            return {
                messages: value.messages,
                enable: value.enable,
            };
        });
    }