Ich arbeite mit AngularJS 1.x und ich kann den gleichen Dienst mehrmals im selben Modul definieren. Im folgenden Codeschnipsel definiere ich den Service nameService
2 mal im Modul myApp
:
Zur Laufzeit verwendet AngularJS den von der zweiten Implementierung des Dienstes zurückgegebenen Wert: "Second Definition". Überprüfen Sie das Plunker-Beispiel .
Also scheint AngularJS empirisch immer die neueste Definition eines Dienstes zu verwenden und ignoriert die vorherigen.
Meine Frage ist: Gibt es eine offizielle Dokumentation, die dieses Verhalten beschreibt?
So funktioniert JavaScript:
%Vor% Wenn Sie console.log(Vinoth());
eingeben, wird immer Second
eins ausgegeben. Zu deinem zweiten Teil:
AngularJS-Dienste sind von Natur aus singleton
, also wird es eine Instanz über den gesamten Anwendungslebenszyklus hinweg sein. Ihre nameService1 and nameService2
zeigen auf dieselbe nameService
instance
. Technisch ist es nameService
hält nameService2
wie es nach dem Heben vorausgeht.
Nein, es gibt keine offizielle Dokumentation für diese Funktion.
Wenn Sie möchten, dass Sie dort sind, können Sie die Betreuer von angularjs bitten, eine Dokumentation für diese Funktion hinzuzufügen.
Tags und Links javascript angularjs