我不知道如何在angularjs中观看绑定到该变量的变量。

这是我尝试过的。

在html中

<input type="text" ng-model="vm.text"/>--{{vm.text}}--
    <p>{{vm.count}} times changed</p>
    <input type="text" ng-model="text1"/>--{{text1}}--
    <p>{{count1}} times changed</p>


在app.js中

$scope.$watch('this.text', function() {
    console.log('watch 1');
    this.count=this.count+1;
});

$scope.$watch('text1', function() {
// do something here
   console.log('watch 2');
   $scope.count1=$scope.count1+1;
});


和punker link相同。

我可以看text1,但不能看text1。

谁能解释一下如何观看text1?

提前致谢

最佳答案

您需要先使用this$scope上下文绑定到角度angular.bind

$scope.$watch(angular.bind(this, function () {
  return this.text;
}), function (newVal) {
  console.log('watch 1');
  this.count=this.count+1;
});


或者将一个函数而不是字符串&放置在观察程序中,该函数将在每个摘要周期进行评估

$scope.$watch(function () {
   return vm.text;
},function(value){
   console.log('watch 1');
   this.count=this.count+1;
});

关于javascript - 如何在angularjs中观看此变量,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34165086/

10-12 15:12