数据监听
- data中使用下划线(_)开头的数据不会被监听
data() {
return {
_a: 123, // 不会监听变化
b: {
_b: 123, // 会监听变化
}
}
}
_a不会被监听因为在data中,而_b会被监听是因为_b在b中,并不直接在data中
- 初始化时没有监听变化的属性用$set也不会引起变化
data() {
return {
a: 1
}
}
},
mounted() {
this.b = 2; // 不会引起变化
vue.$set(this, "b", 2); // 不会引起变化
}
这里是data中没有b,使用普通方式新增b,之后在使用$set方法在进行数据更新,是不会导致数据更新的
- 初始化时有监听变化的属性会引起变化
data() {
return {
a: 1
b: 3
}
}
},
mounted() {
this.b = 2; // 会引起变化
vue.$set(this, "b", 2); // 会引起变化
}
- 初始化时没有监听变化的属性用$set新增会引起变化
data() {
return {
a: 1
}
}
},
mounted() {
vue.$set(this, "b", 2); // 会引起变化
}
点击事件的绑定
区别:
- this指针不同,第一种的this是app,第二种的this是当前vue实例
- 传入参数不同,第一种没有参数,第二种有当前事件对象作为参数