在Angularjs中标识元素的父控制器

时间:2013-10-31 10:00:50

标签: angularjs

我试图通过指令识别元素所在的控制器的名称。我最初认为这很简单,但经过大量搜索并通过几个对象的日志输出进行选择后,我并没有接近。

作为概念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);
} }; });

感谢您的期待!

1 个答案:

答案 0 :(得分:0)

假设您已在表单中包含指定了name属性的输入,则表单控制器将以此名称发布到当前作用域。 它可以从指令中作为element.controller('form')访问。