我试图通过指令识别元素所在的控制器的名称。我最初认为这很简单,但经过大量搜索并通过几个对象的日志输出进行选择后,我并没有接近。
作为概念id的示例证明,可以执行以下操作:
app.directive('identifyInput', function() { return {
require: 'ngModel',
link: function(scope, element, attrs, ngModelCtrl) {
function fromUser(text) {
var controllerName = element.CONTROLLERNAME;
attrs.$observe('ngModel', function(modelName) {
if (modelName) {
alert(controllerName.' -> '.modelName);
}
});
}
ngModelCtrl.$parsers.push(fromUser);
} }; });
感谢您的期待!
答案 0 :(得分:0)
假设您已在表单中包含指定了name属性的输入,则表单控制器将以此名称发布到当前作用域。 它可以从指令中作为element.controller('form')访问。