在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/HTML/ 關(guān)于vue中使用mixins進(jìn)行異步代碼合并問題?

關(guān)于vue中使用mixins進(jìn)行異步代碼合并問題?

現(xiàn)在有個(gè)需求,很多頁(yè)面組件需要用到以下代碼

export default {
  async created() {
    console.log('created');
    if (!store.state.memberCenterData) {
      await store.dispatch('getMemberCenterAction');
      console.log('getMemberCenterAction');
    }
  },
};

于是我通過mixin混合到了頁(yè)面組件A

  async created() {
    console.log('memberData');
    this.memberData = this.$store.state.memberCenterData.result.info;

    this.$nextTick(() => {
      this.wrapHeight = document.documentElement.clientHeight - this.$refs.list.$el.getBoundingClientRect().top ;
    });
  },

執(zhí)行結(jié)果為
created
memberData
getMemberCenterAction

我期望的是
created
getMemberCenterAction
memberData

有什么辦法可以做到可以復(fù)用上面的代碼嗎?

回答
編輯回答
痞性

你不要mixins生命周期函數(shù)

export default {
  async mymethod() {
    console.log('created');
    if (!store.state.memberCenterData) {
      await store.dispatch('getMemberCenterAction');
      console.log('getMemberCenterAction');
    }
  },
};
async created() {
    await this.mymethod()

    this.$nextTick(() => {
      this.wrapHeight = document.documentElement.clientHeight - this.$refs.list.$el.getBoundingClientRect().top ;
    });
  },
2017年4月6日 00:37