Javascript angularjs如何从返回值中找到正确的属性
angular使用观察程序检测属性更改并调用侦听器函数,例如观察程序声明Javascript angularjs如何从返回值中找到正确的属性,javascript,angularjs,Javascript,Angularjs,angular使用观察程序检测属性更改并调用侦听器函数,例如观察程序声明 $scope.food = "chicken"; scope.$watch( function() { return food; }, function(newValue, oldValue) { if ( newValue !== oldValue ) { // Only increment the counter if the value changed
$scope.food = "chicken";
scope.$watch(
function() { return food; },
function(newValue, oldValue) {
if ( newValue !== oldValue ) {
// Only increment the counter if the value changed
scope.foodCounter = scope.foodCounter + 1; }}
);
第一个参数只是一个返回值的函数,但是angular如何从返回值知道这是食物属性呢。这怎么可能呢?Angular将执行您的函数并存储结果。
要查看是否有更改,他只需再次执行该函数,并查看该值是否等于以前的值。Angular将执行您的函数,并存储结果。
若要查看是否有更改,他只需再次执行该函数,并查看该值是否等于以前的值。我认为 您需要传递您想要保存在监视中的内容,并且每当对象/变量发生更改时,您将获得新旧值
$scope.food = "chicken";
$scope.$watch(function(scope) { return scope.food },
function(newValue, oldValue) {
//your Code here.It will return the whenever food value change
}
});
我想
您需要传递您想要保存在监视中的内容,并且每当对象/变量发生更改时,您将获得新旧值
$scope.food = "chicken";
$scope.$watch(function(scope) { return scope.food },
function(newValue, oldValue) {
//your Code here.It will return the whenever food value change
}
});
看看这个语法:
scope.$watch('food', function(newValue, oldValue) {
});
这与执行以下操作相同:
scope.$watch(function() { return food; }, function(newValue, oldValue) {
});
基本上,函数返回被监视的值,并在$digest循环的每一轮调用它,这就是计数器递增的原因 看看这个语法:
scope.$watch('food', function(newValue, oldValue) {
});
这与执行以下操作相同:
scope.$watch(function() { return food; }, function(newValue, oldValue) {
});
基本上,函数返回被监视的值,并在$digest循环的每一轮调用它,这就是计数器递增的原因 没有你想在功能上观看的属性?你误解了这个概念。您编写的监视程序与$scope.food更改检测无关,当$scope.food首先发生更改时,只会再触发一个监视程序,但Angular不会使用自定义监视程序更新$scope.food.有两个方法(),按名称和按函数,这两个方法都可以工作,我测试过,但我想知道第二个(按函数)如何工作是从返回值开始工作的。如何使用JavaScription从返回值中推断正确的变量在函数中没有您想要查看的属性?您误解了这个概念。您编写的监视程序与$scope.food更改检测无关,当$scope.food首先发生更改时,只会再触发一个监视程序,但Angular不会使用自定义监视程序更新$scope.food.有两个方法(),按名称和按函数,这两个方法都可以工作,我测试过,但我想知道第二个(按函数)如何工作从返回值开始工作。如何使用JavaScript从返回值中推断正确的变量?它如何知道该值属于食物变量?如果有另一个变量名为$scope.car=“toyota”,我将其注册到watcher,angularjs知道谁更改了,我认为从返回值中检测哪些变量是不可能的,因为返回值来自函数字符串、int值等。。。但不是变量地址或变量本身,angularjs在这里使用了一种技术,我的问题是如何从返回值中推断出哪个变量,表明它知道这个值属于食物变量?如果有另一个变量名为$scope.car=“toyota”,我将其注册到watcher,angularjs知道谁更改了,我认为从返回值中检测哪些变量是不可能的,因为返回值来自函数字符串、int值等。。。但不是变量地址或变量本身,angularjs在这里使用了一种技术,我的问题是如何从返回值中推断出哪个变量,谢谢Scope。$watch的名称像'food'、'car'等是合理的,您已经给出了哪个变量,但从第二种方法(从函数返回值)中推断出我认为是不可能的。是否存在反射或什么?范围。$watch对“food”和“car”等名称是合理的,您已经给出了哪个变量,但从第二个方法(从函数返回值)进行推断是不可能的。是否存在反射或什么?