【发布时间】:2017-12-06 03:45:52
【问题描述】:
Angular 自定义表单组件/指令和 $dirty 属性
使用常规输入时,如
<form name="myForm">
<input type="text" ng-model="foobar">
</form>
在输入框中输入myForm.$dirty后为真。
我想创建一个简单的指令,例如
angular.module('myModule', [])
.directive('myDirective', function() {
return {
restrict: 'E',
scope: {
fooBar: '='
},
template: '<div><button ng-click="fooBar=foo"></button><button ng-click="fooBar=bar"></button></div>'
};
});
示例用法是
<form name="myForm">
<my-directive foo-bar="myObj.foobarValue"></my-directive>
</form>
在用户点击两个按钮中的任何一个后,myForm$dirty 被设置为 true。
这是如何实现的?
【问题讨论】:
-
如果指令被定义为每个按钮而不是模板中的任何按钮会更容易,这可以接受吗?
标签: angularjs angularjs-directive angular-forms