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

关于Vue单文件组件的this.$store.commit()问题

关于Vue单文件组件的this.$store.commit()问题

缥缈止盈 2018-10-12 11:14:39
先贴源代码:lowpolyEvent(){ var vm = this;  vm.$store.commit("UPDATE_LOADING", true); console.log("1"); console.time("for-test"); var img = new Image();  img.src = vm.imgUrl;  img.onload = function () {    vm.parse(this).then((value) => {    vm.$store.commit("UPDATE_LOADING", false);   console.log("2");   console.timeEnd("for-test");            vm.imgUrl = value;});}}vm.$store.commit("UPDATE_LOADING", true); 这段代码是显示loading的vm.$store.commit("UPDATE_LOADING", false);这段是隐藏但是奇怪的是,vm.$store.commit("UPDATE_LOADING", true)这段代码是在vm.parse(this).then()里面运行,也就是回调才运行,导致没有loading效果(true和false同时运行了)不过打印的时候确实 先1 再 2 而且我还加了测试运行这段代码的时间,大概间隔1秒左右也就是打印1之后,等1秒左右再打印出2问题是:为什么vm.$store.commit("UPDATE_LOADING", true); 没有先运行呢?
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 9027 浏览
慕课专栏
更多

添加回答

举报

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