vuejs页面上要用的参数。是否有必要提前在data里面定义呢?
好像不定义。也可以直接用。
写不写有什么区别呢?
举个例子:比如需要一个user的对象:
user:{id:'',name:''}
还是写成user:{}
vuejs页面上要用的参数。是否有必要提前在data里面定义呢?
好像不定义。也可以直接用。
写不写有什么区别呢?
举个例子:比如需要一个user的对象:
user:{id:'',name:''}
还是写成user:{}
data
里定义Vue.set
,this.$set
添加响应式变量因为采用了 Proxy
,可以拦截所有对对象的操作,所以无所谓定义不定义。
10 回答11.1k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
3 回答5.1k 阅读✓ 已解决
3 回答1.8k 阅读✓ 已解决
2 回答4.7k 阅读✓ 已解决
看场景
这种方式,id和name属性能进行双向数据绑定,
this.user.name = '张三'
赋值时,页面能实时发生变化。这种方式,id和name属性不能进行双向数据绑定,
this.user.name = '张三'
赋值时,页面不能实时发生变化。vue利用
Obeject.defineProperty
来监听属性变动,将data里的数据对象进行递归遍历,包括子属性对象的属性,都加上setter
和getter
,给这个对象的某个值赋值,就会触发setter
,以达到双向绑定的效果。