5
我正在寫一個Angular插件,它將初始化角度應用程序模塊,如果沒有找到,但是如果有已經運行或聲明的ng-app,我的應用程序將使用該模塊。理想的情況是我的代碼看起來像下面這樣:如果你調用它不存在,當然,除非你正在創建一個與angular.module('some-name', []);
模塊是否有可能檢查一個Angular應用程序是否已經運行應用程序模塊?
// return array of apps, whether from ng-app or manually bootstrap
runningAppModules = angular.getNgApps();
if(!isEmpty(runningAppModules))
{
var app = runningAppModules[0];
// Do something with the already initialized app like register controllers
// Or add directives
}
else
{
// manually bootstrap apps
}
的問題是,我不知道該模塊的名稱將是什麼時間提前,因爲用戶可以這樣做:<體NG-應用=「some_weird_name」>。如果沒有用戶定義的應用程序,我的插件將加載angularjs,如果它不存在或手動引導應用程序。我的插件旨在被角度/非angularjs用戶使用。 –
@ Mr.Student在搜索dom時出現了什麼問題:'document.querySelectorAll('[ng-app]')'並在try/catch中使用這些值? – m59
沒有。我不知道querySelectorAll()選項。你應該在你的答案中包括這個。謝謝。 –