Жизненный цикл asyncData не работает в Nuxt

#javascript #vuejs2 #nuxt.js

#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:

Вы ничего не возвращаете из asyncdata. Это должно быть либо возвращением обещания, либо ожиданием данных и их возвратом

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