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);
:(