5

如何在 AngularJS 中检索当前应用程序的名称?
我的意思是ng-app="foo"价值。
我已经搜索了 API 文档,但找不到任何对此的参考。

我的解决方案
实际上我找到了这样的解决方案

angular.element($('[ng-app]')).attr('ng-app');  

但我真的不喜欢通过 DOM 搜索来获取这些信息的想法。
你知道更好的解决方案吗?

4

1 回答 1

15

来自$rootElement文档:

Angular 应用程序的根元素。这要么是声明 ngApp 的元素,要么是传递给 angular.bootstrap 的元素。

如果你注入它,你可以在不扫描 DOM 的情况下获得主模块名称:

<html ng-app="myApp">
...
app.controller('MyCtrl',
  [
    '$scope', 
    '$rootElement', 
    function($scope, $rootElement) {
      console.log($rootElement.attr('ng-app')); // --> myApp
    }
  ]
);
于 2013-07-06T12:55:38.490 回答