vue
在非实例化时,增加属性
set( )方法
Vue.set(增加的对象,'属性名key','属性值')
vm.$set(增加的对象,'属性名key','属性值')
增加的对象:vm._data.name/vm.name(写道代码里的vm就变成this)
注意:只能改变data的对象的属性,直接改变data的某个直接对象是不行的
数组
使用七大api会对数组的变更操作会触发视图更新,而普通的赋值添加属性的操作是不会有视图更新的
在对于属性是直接处于数组,如【’学习‘】或者【id:'123',name:'aa'】(这个同样不行),直接采用数组的下标,进行更改数值是不会有视图更新的
是因为数组的非对象内容,其下标是没有对应的get和set方法的,于是也就没有了视图更新
watch和computed
watch
注意
监视某个对象的属性就用"对象.属性"定义
监视整一个对象(深度监视)
使用deep:true
- 其中一个属性变化了就能监视到
而不是这个对象内容变了才能监视到
配置方法
实例化时
handler
- 参数
* oldValue * newValue
- 在初始化调用handler
* 配置中写immediate:true