Angular: 为什么要调用 $watch?
Angular: Why is $watch being called?
为什么当 $scope.$watch
正在监视的值在应用程序中的任何地方都不存在时会被调用?
正如您在下面看到的,无论我为 watchExpression 分配什么字符串,函数都会运行 ...
$scope.$watch( 'kwhefjkewgfweahhfwujad' , // a bunch of random letters
function()
{ console.log("it fired ... why?");
}
) ;
Firefox 没有指出任何错误。
尝试
$scope.$watch( 'kwhefjkewgfweahhfwujad', function(val) {
if (val) {
console.log("it fired ... why?");
}
});
观察者 运行 每个摘要周期。当您正在观察附加到范围的原始值时,您需要验证新值是否存在(并且已更改)。
你也可以
$scope.$watch( 'kwhefjkewgfweahhfwujad', function(newVal, oldVal) {
if (newVal !== oldVal) {
console.log("it fired ... why?", newVal, oldVal);
}
});
为什么当 $scope.$watch
正在监视的值在应用程序中的任何地方都不存在时会被调用?
正如您在下面看到的,无论我为 watchExpression 分配什么字符串,函数都会运行 ...
$scope.$watch( 'kwhefjkewgfweahhfwujad' , // a bunch of random letters
function()
{ console.log("it fired ... why?");
}
) ;
Firefox 没有指出任何错误。
尝试
$scope.$watch( 'kwhefjkewgfweahhfwujad', function(val) {
if (val) {
console.log("it fired ... why?");
}
});
观察者 运行 每个摘要周期。当您正在观察附加到范围的原始值时,您需要验证新值是否存在(并且已更改)。
你也可以
$scope.$watch( 'kwhefjkewgfweahhfwujad', function(newVal, oldVal) {
if (newVal !== oldVal) {
console.log("it fired ... why?", newVal, oldVal);
}
});