AngularJS:为什么我的手表不起作用

Wat*_*att 1 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);
}
Run Code Online (Sandbox Code Playgroud)

但是,我得到了以下错误

ReferenceError: getAbcCnt is not defined
Run Code Online (Sandbox Code Playgroud)

我是AngularJS的新手,请告诉我是否有一些我缺失的基本概念,以上是不可能的.

这个答案对我没有帮助 AngularJS:Basic $ watch无效

Evi*_*key 5

你需要在中引用它$scope.

$scope.$watch('abc', $scope.getAbcCnt);
Run Code Online (Sandbox Code Playgroud)

如果您要声明没有$scope前缀的函数,则现有调用将起作用,但您将无法从视图中访问该函数.如果您不需要从视图中访问该函数,则可以在不使用$scope和保留现有$watch语句的情况下声明该函数.