Angular JS - 如何通过其型号名称获取ngModelController?

时间:2015-03-16 14:37:53

标签: angularjs angularjs-directive angular-ngmodel

在我的自定义指令中,我需要更新另一个输入的有效性。该指令是这样的:
<customDirective="foo">,其中值foo是另一个ngModel的名称。

在我的指导下,我可以通过以下方式得到它的模型:
var foo = scope[attrs.foo];

但是如何才能获得其ngModelController来设置其有效性?像这样 : fooModelController.$setValidity('customDirective', true);

编辑:

在html中,输入定义为:

<input type="text" name="dateDebut" id="dateDebut" class="form-control" ng-model="formData.dateDebut" customDirective="dateFin" required>
<input type="text" name="dateFin" id="dateFin" class="form-control" ng-model="formData.dateFin" customDirective="dateDebut" required>

我通过angular.element.find(document.querySelctor('#dateDebut'));

获取dom节点

1 个答案:

答案 0 :(得分:1)

angular.element(document.querySelctor('#dateDebut')).controller('ngModel') - 这会在ngModelController元素上定义#dateDebut

这是plnkr:http://plnkr.co/edit/qXyxEb2QHyhuRUttNMXn?p=preview