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

问题描述 投票:1回答:1

我想通过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>
javascript vuejs2 nuxt.js
1个回答
-1
投票

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

asyncData () {
        return this.axios.get('sample url') 
         .then(({result}) => {
            let value = JSON.parse(result.value);
            return {
                messages: value.messages,
                enable: value.enable,
            };
        });
    }
© www.soinside.com 2019 - 2024. All rights reserved.