- 我们知道vuex的store的state是响应式的,当state中的数据发生改变时,vue组件会自动更新。
必须遵循一些规则:
-
提前在store初始化所需的属性
-
当给state中添加新的属性是使用下面方式:
方式一:使用Vue.set(obj,"新属性名称","对应的属性值") 方式二:用新对象对就对象重新赋值
在state删除已经存在的属性:
使用“delete+某个属性”,满足不了响应式。
解决办法:Vue.delete(obj,“属性名”)
补充:
数组中哪些方法是响应式的:
1、push()
//向末尾添加元素
//通过索引值修改数组中元素不满足响应式
2、pop()
//把我们元素的最后一个删除掉
3、shift()
///把数组的第一个元素从其中删除,并返回第一个元素的值。
4、unshift();
// 向数组的开头添加一个或更多元素,并返回新的长度
5、splice();
//作用:删除元素\插入元素\切换元素,根据参数不用,作用不同
6、sort();
//排序
7、reverse();
//颠倒数组中元素的顺序