如何在 AngularJS 中检索当前应用程序的名称?
我的意思是ng-app="foo"
价值。
我已经搜索了 API 文档,但找不到任何对此的参考。
我的解决方案
实际上我找到了这样的解决方案
angular.element($('[ng-app]')).attr('ng-app');
但我真的不喜欢通过 DOM 搜索来获取这些信息的想法。
你知道更好的解决方案吗?
如何在 AngularJS 中检索当前应用程序的名称?
我的意思是ng-app="foo"
价值。
我已经搜索了 API 文档,但找不到任何对此的参考。
我的解决方案
实际上我找到了这样的解决方案
angular.element($('[ng-app]')).attr('ng-app');
但我真的不喜欢通过 DOM 搜索来获取这些信息的想法。
你知道更好的解决方案吗?
来自$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
}
]
);