Angular : 需要(或不需要)嵌套子表单
Angular : make nested subform required (or not)
一方面,我有一个非常简单的 emailForm 指令。
脚本
directives.directive('emailForm', function(){
return {
restrict: 'AE',
templateUrl: "views/forms/email.html",
controller: function(){console.log('its the addressForm here dude');},
scope: {
email: '=email'
},
require: ['^form', 'ngModel']
};
});
我现在想在 contactForm 中使用这个指令:
<form name="contactForm">
<input type="text" ng-model="contact.name"/>
<email-form email="contact.email"></email-form> // how to make this required or not...?
</form>
如何在 contactForm 中创建所需的 emailForm(而不是在 mail 指令中,因为我希望能够在不需要它的地方使用它)?
我的第一个想法是在 emailDirective 中传递一个必需的参数,但是虽然这对于简单的输入(如电子邮件)来说似乎是个好主意,但一旦嵌套子表单是其上的真实表单,它似乎就不会那么快了拥有。
必需的属性仅对输入标签有效。如果您希望能够切换子表单中的所有输入字段,您可以尝试类似的操作:
<email-form email="contact.email" form-required="<your value>"></email-form>
//javascript emailFormDirective :
scope:{
emailRequired:"@formRequired",
email:"=email"
}
//email.html template
<input ... ng-required="emailRequired" ... />
注意:我为每个步骤使用了不同的名称,因此您不会在它们之间迷路。
一方面,我有一个非常简单的 emailForm 指令。
脚本
directives.directive('emailForm', function(){
return {
restrict: 'AE',
templateUrl: "views/forms/email.html",
controller: function(){console.log('its the addressForm here dude');},
scope: {
email: '=email'
},
require: ['^form', 'ngModel']
};
});
我现在想在 contactForm 中使用这个指令:
<form name="contactForm">
<input type="text" ng-model="contact.name"/>
<email-form email="contact.email"></email-form> // how to make this required or not...?
</form>
如何在 contactForm 中创建所需的 emailForm(而不是在 mail 指令中,因为我希望能够在不需要它的地方使用它)?
我的第一个想法是在 emailDirective 中传递一个必需的参数,但是虽然这对于简单的输入(如电子邮件)来说似乎是个好主意,但一旦嵌套子表单是其上的真实表单,它似乎就不会那么快了拥有。
必需的属性仅对输入标签有效。如果您希望能够切换子表单中的所有输入字段,您可以尝试类似的操作:
<email-form email="contact.email" form-required="<your value>"></email-form>
//javascript emailFormDirective :
scope:{
emailRequired:"@formRequired",
email:"=email"
}
//email.html template
<input ... ng-required="emailRequired" ... />
注意:我为每个步骤使用了不同的名称,因此您不会在它们之间迷路。