computed计算来自store的数据,返回给模板调用,模板中使用v-model双向绑定数据,当改变界面上数据时,deep watch该数据并不成功。数据计算和watch:模板使用:
4 回答
呼啦一阵风
TA贡献1802条经验 获得超6个赞
海绵宝宝撒
TA贡献1809条经验 获得超8个赞
缥缈止盈
TA贡献2041条经验 获得超4个赞
先说解决方法: 把watch的timeConfig改成'$store.state.widgetConfig'.
因为你computed的时候调用了getDefaultTime, vue调用这个function添加依赖失败了.
顺带提一下, computed绑定v-model是错误的行为, v-model等同于@input='e => timeConfig = e.target.value', 也就是等于你在代码中改变了computed的值和vuex里的值.
坏处是引起抖动.
解决方案是使用get, set方法: 类似于:
{
computed: {
timeConfig: {
get () {
return getDefaultTime(this.$store.data)
},
set () {
this.$store.commit('mutation')
}
}
}
添加回答
举报
0/150
提交
取消