Ich schreibe ein Angular-Plugin, das ein eckiges App-Modul initialisiert, wenn es keine gefunden hat, aber wenn es eine bereits laufende oder deklarierte ng-App gibt, wird meine App stattdessen dieses Modul verwenden. Im Idealfall würde mein Code wie folgt aussehen:Kann überprüft werden, ob eine Angular App bereits über laufende App-Module verfügt?
// 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
}
Das Problem ist, dass ich weiß nicht, was die Modulnamen vor der Zeit sein wird, da der Benutzer, wie etwas tun:
. Mein Plugin lädt angularjs, wenn es nicht vorhanden ist, oder lädt manuell eine App, wenn keine benutzerdefinierten Apps vorhanden sind. Mein Plugin ist für Angular/Non-AngularJs Benutzer gleichermaßen geeignet. –@ Mr.Student ist etwas falsch mit der Suche in der Dom: 'document.querySelectorAll ('[ng-app]')' und mit diesen Werten in der Try/Catch? – m59
Überhaupt nicht. Ich wusste nichts über die Option querySelectorAll(). Sie sollten das in Ihre Antwort aufnehmen. Vielen Dank. –