将$ scope。$ watch附加到数组项的问题

时间:2013-12-22 19:43:27

标签: angularjs

我无法将$ watch附加到变量以检查其在表单中的有效性。 fName。$ valid throws error

TypeError: Cannot read property 'exp' of undefined
at watchFnToHumanReadableString

数组:menuItems

{
          name : 'Games',
          validationRequired : true,
          formName : 'games_action'
}

JS

angular.forEach($scope.menuItems, function(item,i) {
        if(item.validationRequired) {
            var fName = item.formName;

            $scope.$watch(fName.$valid, function(validity) {   /* throws error */
                domeSomething(validity);
            })


        }    
    });

1 个答案:

答案 0 :(得分:1)

我猜是因为fName是一个字符串,并且没有像$valid这样的属性。 但是观看字符串fName+'.$valid'应该是可能的。

$scope.$watch(fName+'.$valid', function(validity) {
    console.log('$watcher triggered: ', validity);
})
相关问题