如何在自定义指令中将字段设置为$dirty
How can I set my field to $dirty inside my custom directive?
我有一个下拉/选择指令,用于替换表单中的选择框。我有几个按钮可以设置为禁用,只要表单是原始的。
app.directive('dropdown', function ($timeout) {
return {
restrict: 'E',
template: '<div class="btn-group" dropdown>' +
'<button id="dropdownDirective" class="btn dropdown-toggle" dropdown-toggle>' +
'{{ items[ngModel].name }}' +
'<span class="caret"></span>' +
'</button>' +
'<ul class="dropdown-menu" role ="menu" aria-label="dLabel">' +
'<li ng-repeat="item in items">'+
'<a href="#" ng-bind="item.name" ng-click = "select(item)" >< / a >' +
'</li>'+
'</ul>'+
'</div>',
scope: {
ngModel: '=', // selected option
items: '=', // options
},
link: function (scope, element, attrs) {
scope.select = function (item) {
scope.ngModel = item.id;
};
}
};
});
在HTML:中
<dropdown id="modalSelect"
ng-model="ahs.modal.modalId"
items="es.modal.data">
</dropdown>
根据我的指示,$pureal不会被触发。有人能指出我做错了什么吗?
您需要在指令中实现整个表单相关的行为。以下内容:
https://docs.angularjs.org/api/ng/type/ngModel.NgModelController
app.directive('dropdown', function ($timeout) {
return {
require: "ngModel",
restrict: 'E',
template: [...]
scope: {
items: '=', // options
},
link: function (scope, element, attrs, ngModelController) {
ngModelController.$setViewValue(...);
ngModelController.$setPristine(...);
etc.
}
};
});
相关文章:
- 而循环只设置php中输入字段中的第一个值
- Extjs图表:动态设置字段
- 正在设置字段和'带有'陈述
- mailto:未在 GroupWise 8 消息中正确设置字段
- JavaScripts,AJAX,PHP:获取json字符串后无法设置字段值
- 使用 JQuery 重新设置字段值
- jQuery - 在通过加载函数加载操作页面时在操作页面中设置字段值
- 如何在高位图表中设置字段名
- 在Lotus Notes Web窗体中设置字段的JavaScript
- 从内部对象javascript设置字段值
- 如何在像这样的javascript对象中设置字段
- 是否有一种方法可以更新或设置字段,就像upsert对文档所做的那样
- 设置字段在不同的框架从javascript
- javascript:设置字段值并提交表单
- React Redux-如何在应用程序状态中设置字段
- 在 extjs 或 getCount() 的存储中动态设置字段在模型中给出 0
- CRM 2011 onChange 事件处理程序在 JavaScript 设置字段时未触发
- 我如何使用javascript在输入选择(HTML)中设置字段
- 如何设置字段的需求级别
- 我设置字段值w/ javascript, onchange未触发.可选择的解决方案