Vue监视属性

// 监视属性watch写法一:
//写在vue实例化里面
watch: {
//date里面需要监视的值
isHot: {
immediate: true,//初始化时让handler调用
//handler是当isHot发生变化时调用
handler(newValue, oldValue) {
console.log(“isHot被修改了”, newValue, oldValue);
}
}
}
//----------------------------------------
// 监视写法二:
//写在vue实例化外面
vm.$watch(‘isHot’, {
immediate: true,//初始化时让handler调用
//handler是当isHot发生变化时调用
handler(newValue, oldValue) {
console.log(“isHot被修改了”, newValue, oldValue);
}
})


### 2.深度监视:


(1).Vue中的watch默认不监测对象内部值的改变 (一层)  
 (2).配置deep:true可以监测对象内部值改变 (多层)。  
 备注:  
 (1).Vue自身可以监测对象内部值的改变,但Vue提供的watch默认不可以!  
 (2).使用watch时根据数据的具体结构,决定是否采用深度监视。



Vue.config.productionTip = false;
var vm = new Vue({
el: “#app”,
data: {
isHot: true,
},
computed: {
info() {
// 三目运算符flase还是true判断
return this.isHot ? ‘炎热’ : ‘凉爽’;
}
},
methods: {
changeWatchd() {
// 等于非this.isHot就是等于isHot的相反值也就是truefalse相互转换
this.isHot = !this.isHot;
},
watch: {
//简写当检测属性只有handler时就能简写
// isHot(newValue, oldValue) {
// console.log(“isHot被修改了,newValue,oldValue”)
// },
isHot: {
// immediate: true,//初始化时让handler调用
//handler是当isHot发生变化时调用
handler(newValue, oldValue) {
console.log(“isHot被修改了”, newValue, oldValue);
},
},
//监视多级结构中某个属性的变化
/*“inumbers.a”:{
handler(){
console.log("a被改变了’)
}
}*/
//监视多级结构中所有属性的变化
numbers: {
deep: true,
handler() {
console.log(“numbers改变了”);
}
}
}
}
})

前端面试题汇总

JavaScript

性能

linux

前端资料汇总


加入社区》https://bbs.csdn.net/forums/4304bb5a486d4c3ab8389e65ecb71ac0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值