javascript - Angular : Why my watch is not working

标签 javascript angularjs

我正在尝试监视一个变量,这样如果它的值发生变化,我就会调用其余服务并获取更新的计数。

我的代码是这样的

function myController($scope, $http) {

    $scope.abc = abcValueFromOutsideOfMyController;    

    $scope.getAbcCnt= function()
    {
        url2 = baseURL + '/count/' + $scope.abc;

        $http.get(url2).success(function (data) {
            $scope.abcCnt = data.trim();
        });
    };

    $scope.$watch('abc',getAbcCnt);
}

但是,我得到以下错误

ReferenceError: getAbcCnt is not defined

我是 AngularJS 的新手,如果我缺少一些基本概念并且上面的内容是不可能做到的,请告诉我。

这个答案对我没有帮助 AngularJS : Basic $watch not working

最佳答案

您需要在$scope 中引用它。

$scope.$watch('abc', $scope.getAbcCnt);

如果您要在没有 $scope 前缀的情况下声明您的函数,您现有的调用将有效,但您将无法从 View 访问该函数。如果您不需要从 View 访问该函数,则可以在没有 $scope 的情况下声明该函数并保留现有的 $watch 语句。

关于javascript - Angular : Why my watch is not working,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16486634/

相关文章:

javascript - 您能帮我修复 Jeffrey Way Slider First Attempt imgWidth 错误吗?

javascript - 如何将一个变量分配给另一个变量加一个常量

javascript - AngularJs 根据多个条件评估表达式

javascript - AngularJS:ng-if 检查模型值,但仅当输入为 $valid 时才设置输入的模型值

angularjs - 如何验证 Angular HTML 模板

javascript - AngularJS "not well-formed",但仍显示在 Firefox 中

javascript - ng-repeat 不能作为参数传递

javascript - Rxjs 与 Lodash 对比? rxjs 可以替代 lodash 吗?

javascript - 根据所选计划查找总金额

javascript - Angularjs:通过父 Controller 在兄弟指令之间共享数据的最佳实践