我构建了一个名为 errorMarker 的指令,用于在输入控件上显示错误消息。我面临的问题是,第一次检测到属性更改,而下次则检测不到。我创建了一个 fiddle ,您将在其中看到一个文本字段和一个按钮。指令应用于文本字段。
<input type="text" ng-model="name" error-marker error-message="{{error}}" size="20">
还有一个按钮,单击该按钮将检查模型值并设置范围的错误属性。一旦设置错误,文本字段边框就会变成红色。 现在,如果删除模型值并单击按钮,边框不会变成红色。原因是未检测到属性更改。我想知道为什么没有检测到更改,因为我还将指令中的属性值设置为空白。
fiddle :http://jsfiddle.net/FvLQN/1245/
最佳答案
您每次都将错误变量设置为“无效名称”,因此该值不会更改,并且不会触发您的函数。
试试这个:
$scope.error= "Invalid Name " + $scope.name;
关于javascript - AngularJS 观察属性变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38564388/