在angularjs中$ watch的目的是什么。任何人都可以解释它是如何工作的,以及$ watch的目的是什么。提前致谢
答案 0 :(得分:0)
看一下Angular文档,它们通常非常好并且包含示例。
$watch(watchExpression, listener, [objectEquality]);
注册要在每次执行时执行的侦听器回调 watchExpression发生了变化。
https://docs.angularjs.org/api/ng/type/$rootScope.Scope#$watch
答案 1 :(得分:0)
$ scope.watch()函数创建一个变量的监视。注册手表时,您将两个函数作为参数传递给$ watch()函数:
以下是一个例子:
$scope.$watch(function() {},
function() {}
);
第一个函数是值函数,第二个函数是监听器函数。
值函数应返回正在监视的值。然后,AngularJS可以根据watch函数上次返回的值检查返回的值。这样AngularJS可以确定值是否已更改。这是一个例子:
$scope.$watch(function(scope) { return scope.data.myVar },
function() {}
);
此示例valule函数返回$ scope变量scope.data.myVar。如果此变量的值发生更改,则将返回不同的值,AngularJS将调用侦听器函数。
如果值已更改,则侦听器函数应执行其需要执行的操作。也许您需要更改另一个变量的内容,或者设置HTML元素的内容或其他内容。这是一个例子:
$scope.$watch(function(scope) { return scope.data.myVar },
function(newValue, oldValue) {
document.getElementById("").innerHTML =
"" + newValue + "";
}
);
此示例将HTML元素的内部HTML设置为变量的新值,嵌入在b元素中,使值变为粗体。当然,您可以使用代码{{data.myVar}完成此操作,但这只是您在侦听器函数中可以执行的操作的示例。
希望对你有所帮助。