양식 컨트롤러에 기능을 추가하는 지시문을 만들 수 있습니다. 항목에 속한 양식 객체와 동일한 속성이 $$parentForm
인지 확인하여 모든 컨트롤을 반복하는 메서드를 만듭니다.
DEMO
자바 스크립트
.directive('myForm', function() {
return {
require: 'form',
link: function(scope, elem, attr, form) {
form.__setSubmitted = function() {
setSubmitted(form);
};
function setSubmitted(form) {
form.$submitted = true;
angular.forEach(form, function(item) {
if(item && item.$$parentForm === form) {
setSubmitted(item);
}
});
}
}
};
});
작동
<form name="myForm" my-form ng-submit="myForm.__setSubmitted()">
<ng-form name="mySubForm1">
<input type="text" ng-model="data.something1" name="something">
{{mySubForm1.$submitted}}
</ng-form>
<br>
<ng-form name="mySubForm2">
<input type="text" ng-model="data.something2" name="something">
{{mySubForm2.$submitted}}
</ng-form>
<br>
<button type="submit">Button</button>
{{myForm.$submitted}}
</form>
지시문을하고, 부모 양식 제출 거기에 수신기를 부착 .. – Ved