Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vue.js/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vue.js 我是否需要检查观察者中新旧值之间的不平等性?_Vue.js - Fatal编程技术网

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
}