【问题标题】:Async method in Vuejs mixinVuejs mixin 中的异步方法
【发布时间】:2019-09-06 20:39:02
【问题描述】:

我正在尝试在多个 vuejs 组件中重用一个方法。我正在使用 mixin 来执行此操作,但异步方法不起作用

我在 mixin 中有一个异步方法,它等待 axios 调用 GET-AllDrafts 完成,然后运行一个突变,将草稿状态值更新为 axios 调用返回的数据。

async orgUpdateMixin() {
      await this.$store.dispatch('GET_AllDrafts')
                       .then(data => {                                       
                           this.$store.commit('draftUpdate', data);    //mutation                                              
                     })
}

我在我的组件的mounted() 方法中运行此方法。

mounted(){
   this.orgUpdateMixin();
   console.log(this.data);
}

但由于某种原因 this.data 返回 [] 空数组。有没有办法等待 mixin 先完成再继续。

【问题讨论】:

  • await this.orgUpdateMixin(); 怎么样?

标签: javascript vue.js vuejs2 vuex


【解决方案1】:

按照评论,做:

async mounted() {
  await this.orgUpdateMixin();
  console.log(this.data);
}

【讨论】:

  • vuejs v2.6挂载不能异步
猜你喜欢
  • 2018-04-17
  • 1970-01-01
  • 1970-01-01
  • 2020-12-25
  • 1970-01-01
  • 2018-01-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多