我无法将$ 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);
})
}
});
答案 0 :(得分:1)
我猜是因为fName是一个字符串,并且没有像$valid
这样的属性。
但是观看字符串fName+'.$valid'
应该是可能的。
$scope.$watch(fName+'.$valid', function(validity) {
console.log('$watcher triggered: ', validity);
})