为了账号安全,请及时绑定邮箱和手机立即绑定

关于vue中使用mixins进行异步代码合并问题?

关于vue中使用mixins进行异步代码合并问题?

冉冉说 2019-03-05 16:46:04
现在有个需求,很多页面组件需要用到以下代码export default {  async created() {    console.log('created');    if (!store.state.memberCenterData) {      await store.dispatch('getMemberCenterAction');      console.log('getMemberCenterAction');    }  },};于是我通过mixin混合到了页面组件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 ;    });  },执行结果为createdmemberDatagetMemberCenterAction我期望的是createdgetMemberCenterActionmemberData有什么办法可以做到可以复用上面的代码吗?
查看完整描述

1 回答

?
陪伴而非守候

TA贡献1757条经验 获得超8个赞

你不要mixins生命周期函数


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 ;

    });

  },


查看完整回答
反对 回复 2019-03-07
  • 1 回答
  • 0 关注
  • 1067 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信