2
我有一个角度模块,我手动启动。我试图让$rootScope
附加一个事件监听器$viewContentLoaded
。
这里是我的代码:
angular.bootstrap(el, [appname]);
//////////////////////////// Fixing links
console.log('patching');
var $rootScope = angular.injector([appname]).get('$rootScope');
console.log($rootScope);// Scope { $id=139, $root=Scope, $$destroyed=false, more...}
$rootScope.$on('$viewContentLoaded', function() {
console.log('$viewContentLoaded');
});
我得到一个范围$id=139
,而该事件不是当它应该烧。
如果我试图让我的内部模块$rootScope
主要controlelr我得到:
console.log('myController',$rootScope);
Scope { $id=120, $$childTail=Scope, $$childHead=Scope, more...}
我得到一个$rootScope
ID为120 ???
和如果我将事件附加到模块内部的控制器,事件处理程序就像它应该那样工作。
那么我做错了什么? 如何在控制器外部获得正确的rootScope
模块?
我应该提到,我有多个应用程序环境。我有一个主要的模块,加载和引导其他模块,我试图知道当这个其他模块viewContent已完成加载与手动添加代码到每一个每个...
注: 我可以得到$rootScope
这样的:
var $rootScope = angular.element(el).scope().$root;
但是,这并不正常工作时$compileProvider.debugInfoEnabled(false);
:(