Vue.js 我是否需要检查观察者中新旧值之间的不平等性?
目前,我的许多观察者代码如下所示:Vue.js 我是否需要检查观察者中新旧值之间的不平等性?,vue.js,Vue.js,目前,我的许多观察者代码如下所示: watch: { // whenever question changes, this function will run question: function (newQuestion, oldQuestion) { if (newQuestion != oldQuestion) { // do something } } }, 我的问题是我是否需要newQuestion!=oldQuestion或如果newQue
watch: {
// whenever question changes, this function will run
question: function (newQuestion, oldQuestion) {
if (newQuestion != oldQuestion) {
// do something
}
}
},
我的问题是我是否需要newQuestion!=oldQuestion
或如果newQuestion=oldQuestion
则Vue不会触发观察者。如果后者是真的,那么Vue检查什么样的不等式?只需=
或深度相等(例如,即使数组不相同,也要检查数组元素是否相同?自己试试:
newvue({
el:“应用程序”,
数据:=>({x:,log:}),
观察:{
x(西北,外径){
this.log+=`
旧:${od}新:${nw}x:${this.x}`
}
}
})
要回答您的问题,如果它们相等,则观察者不会触发。为了检查deepequal,您可以这样构造您的观察者(仅在处理非标量时需要)
希望有帮助。此功能的官方文档已打开,ctrl+f
deep:true
question: {
handler: () => {},
deep: true
}