在ng-view之外访问控制器名称

时间:2014-08-02 13:01:09

标签: angularjs

当控制器被定义为与ng-view分开时,有没有办法访问控制器的名称?

<div ng-controller="Ctrl1">
    <!-- Some code -->
</div>
<div ng-view>
    <!-- Configured with ngRoute -->
</div>

在ng-view中,我可以使用$ route.current.controller来检索当前控制器名称。如果可能,我将如何为&#34; Ctrl1&#34;?

实现相同的目标

非常感谢!

1 个答案:

答案 0 :(得分:0)

ng-view不同,可能在同一页面中有多个 ng-controller

因此,无法使用$route.current.controller来获取当前控制器。

但如果您的目标是打印通过ng-controller初始化的每个控制器名称,您可以编写一个名为ngController的自定义指令。

app.directive('ngController', function () {
  return {
    restrict: 'A',
    link: function (scope, element, attrs) {
      console.log(attrs.ngController);
    }
  };
});

只要编译了任何ng-controller指令,这将在ngController属性中输出值。

希望这有帮助。