微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

angularjs – 如何从指令访问子ngModel?

就像在 this question中一样,我希望在范围时在表单字段的父.control-group上添加.error.$invalid为true.

但是,在ng-class =“{error:formName.fieldModel.$invalid}”中对表单名称进行硬编码意味着我不能以不同的形式重用它,而且我不想在任何地方重复这个声明.

我认为看起来像这样的指令可以工作:

<div class="control-group" error-on="model1,model2">
  <input ng-model="model1">
  <input ng-model="model2">
</div>

因此,当model1或model2无效时,.control-group会添加.error.

My attempt here.鉴于型号名称,是否可以从指令访问模型?

如果有更好的方法,我也很乐意听.

我不认为编写自定义指令对于这个用例是必要的,因为 ng-form directive是为那些情况创建的.从指令的文档:

It is useful to nest forms,for example if the validity of a sub-group
of controls needs to be determined.

以你的代码为例,我会写:

<div class="control-group" ng-class="{ error: myControlGroup1.$invalid }>
  <ng-form name="myControlGroup1">
    <input ng-model="model1">
    <input ng-model="model2">
  </ng-form>
</div>

通过使用此技术,您不需要重复ng-model中使用的表达式,并且可以在任何形式内重用此片段.

原文地址:https://www.jb51.cc/angularjs/142029.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐