首页 > 代码库 > vuex的dom更新回调问题
vuex的dom更新回调问题
https://segmentfault.com/q/1010000007359564
根据vue的响应式原理,多次的数据操作之后进行一次的dom更新,所以可以使用$nextTick在dom更新后做些什么。
但是今天我使用了vuex来管理应用状态,我在组件中发了一个dispatch来触发某个action,action又触发mutations来改变状态,但是在vuex中没有nextTick这个东西,我无法在dom更新后做些什么
在组件写的nextTick也不是在vuex更新状态后触发的,而是在组件自身的dom更新后触发,现在也想不出个办法,求各位大神帮帮忙
this.$store.dispatch("action",{
name: "test",
type: "add"
});
this.$nextTick(() => {
//vuex改变状态后的dom还没有更新就执行到这里了
$(".slimscroll-render").eq(index).slimScroll();
$.fn.fullpage.setAllowScrolling(false);
});
- 2016年11月02日提问
- 评论
- 邀请回答
- 编辑
默认排序时间排序
1个回答
1
我也遇到这个问题了,由于后台请求是异步的,所以$.nextTick 并不能正确更新, 我最后的解决办法是通过watch 来实现的,
watch: {
itemList: function (val, oldVal) {
console.log(val)
console.log(oldVal)
this.$nextTick(() => {
const ms = this.$refs.grid.masonry
ms.reloadItems()
ms.layout()
})
}
}
vuex的dom更新回调问题
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。