基本上我用这个:
<form ng-model="form" ng-submit="save()" name="form" class="form">
它创建了一个新的表单控制器,对吗?我想添加一个方法&#34; addErrors&#34;对于我的应用程序中的所有表单控制器,现在我必须手动完成,有没有办法在我引导我的应用程序时通过配置或运行方法添加它?
问候。
答案 0 :(得分:2)
鲜为人知的事实:
可以有多个具有相同名称的指令。每一个都不覆盖前一个,而是与所有其他人一起应用。
实现您想要的最简单方法是为form
元素定义一个自定义指令(实际上您需要两个:form
一个,ngForm
一个)访问FormController
实例并使用自定义行为对其进行扩充。
E.g:
app.directive('form', function () {
return {
restrict: 'E',
require: 'form', // to get access to the FormController instance
link: function postLink(scope, elem, attrs, formCtrl) {
formCtrl.submit = function () {
alert(formCtrl.$valid ? '*Submit*' : '*Error*');
};
}
};
});
另请参阅此 short demo 。