Angularjs 当oldvalue等于newvalue时,为什么手表会启动?

Angularjs 当oldvalue等于newvalue时,为什么手表会启动?,angularjs,Angularjs,我有: 以及: 有人能解释一下为什么手表在价值似乎没有变化的情况下会启动吗。请注意,这是我刚刚打开页面的时候。引用$scope.$apply(): 在向作用域注册观察程序后,异步调用侦听器fn(通过$evalAsync)来初始化观察程序。在极少数情况下,这是不可取的,因为在watchExpression的结果没有更改时调用侦听器。要在侦听器fn中检测此场景,可以比较newVal和oldVal。如果这两个值相同(==),则由于初始化而调用了侦听器 $scope.$watch('option.

我有:

以及:

有人能解释一下为什么手表在价值似乎没有变化的情况下会启动吗。请注意,这是我刚刚打开页面的时候。

引用$scope.$apply():

在向作用域注册观察程序后,异步调用侦听器fn(通过$evalAsync)来初始化观察程序。在极少数情况下,这是不可取的,因为在watchExpression的结果没有更改时调用侦听器。要在侦听器fn中检测此场景,可以比较newVal和oldVal。如果这两个值相同(==),则由于初始化而调用了侦听器

   $scope.$watch('option.sSubject', function (newValue, oldValue) {
                    if (newValue !== oldValue) {
console.log(newValue)
1
undefined
console.log(oldValue)
1
undefined