【发布时间】:2014-09-21 13:36:15
【问题描述】:
我的控制器中有一个表单。我希望能够根据此表单的有效性设置范围变量。我已经给表单起了个名字:
<div ng-controller="myCtrl">
...
<form name='myForm'>
...
</form>
...
</div>
并在该表单的 $valid 属性上创建了一个 $watch(位于包含该表单的控制器中):
$scope.$watch('myForm.$valid', function(oldVal, newVal) {
console.log("Woo! This might be working!");
if (newVal) {
$scope.otherVar = true;
} else {
$scope.otherVar = false;
}
}
我的日志语句仅出现在页面加载时,但不会在表单的有效性更改时出现。 (我已经通过插入验证了表单的 $valid 属性正在更改:
{{ myForm.$valid }}
在我的表格范围内)我一直在环顾四周,据我所见,这应该起作用。 (不过显然有些不对劲……)
【问题讨论】: