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

时间:2013-05-10 16:19:42

标签: 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

2 个答案:

答案 0 :(得分:5)

您需要在$scope

中引用它
$scope.$watch('abc', $scope.getAbcCnt);

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

答案 1 :(得分:1)

我认为你的意思是

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