一方面,我有一个非常简单的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中传递一个必需的参数,但是这对于一个简单的输入(如电子邮件)来说似乎是一个好主意,但它似乎并不像嵌套子表单本身就是一个真正的表单。
答案 0 :(得分:0)
必需属性仅对输入标记有效。如果您希望能够切换子表单中的所有输入字段,可以尝试类似:
<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" ... />
注意:我为每一步都使用了不同的名称,这样你就不会迷失它们。