【发布时间】:2016-05-02 19:26:52
【问题描述】:
Angular 为读取输入字段的状态提供了极大的可能性,例如$dirty、$touched 等。但是,据我所知,这仅在按名称访问输入元素时才有效,例如$scope.formName.inputFieldName。
但是我需要通过元素的 ID(并且没有表单名称)访问指令控制器内指令模板中定义的输入元素。无论我尝试什么,我都没有得到特殊的输入表单句柄。 类似的东西
var myElement = $document[0].getElementById('my_id');
console.log(angular.element(myElement));
不起作用。我得到了 DOM 元素本身,包裹在通用对象上下文中,但不是 Angular 提供的输入句柄。
【问题讨论】:
-
在 Ari 的回答中找到了 stackoverflow.com/questions/23609171/…。然而,这似乎并不重要。使用 vanilla JavaScript 'document.getElementById' 会得到完全相同的结果。
-
你想做什么?你试过链接函数中的元素参数吗?
-
那不存在。我在这个指令模板中生成了几十个输入元素。我想在指令的控制器函数中访问其中一个。
-
你试过
angular.element(myElement).controller("ngModel")吗? -
@georgeawg 成功了!谢谢!