In AngularJS können Sie Daten im $ rootScope speichern oder einen Wert-Service erstellen? Beide können Sie nur mit der Abhängigkeitsinjektion zugreifen - also wo ist der Unterschied? Wann sollte ich das $ rootScope verwenden und wann der Wert-Service?
Antwort
$rootScope
ist der Stamm scope
Objekt, es ist das übergeordnete Objekt, das alle anderen scope
erben von. Wenn eine Eigenschaft zu $rootScope
hinzugefügt wird, ist diese Eigenschaft für alle untergeordneten $scope
Objekte verfügbar. Diese Eigenschaften sind vorhanden, auch wenn $rootScope
nicht in den Controller injiziert wird, aber eine Injektion erforderlich ist, um die Eigenschaften programmgesteuert zu ändern. Aufgrund der JavaScript prototype inheritance Regeln ist es möglicherweise möglich, einen spezifischen Controller einen $rootScope
Wert zu verbergen. Dies macht $rootScope
eine pseudo-globale, und möglicherweise unsicher. Aufgrund der Tatsache, dass jeder scope
ein Nachkomme von $rootScope
ist, ist $rootScope
ideal für Dinge wie $broadcast
.
Ein Value
Service ist ein einfacher injizierbarer Singleton-Wert. Es ist nie verfügbar, es sei denn, injiziert. A Value
soll nicht direkt modifiziert werden, es ist jedoch möglich in Angular 1.x. Value
kann auch von einem Decorator
abgefangen werden.
- 1. Was ist der Unterschied zwischen dem WebConfigurationManager und dem ConfigurationManager?
- 2. Was ist der Unterschied zwischen dem Standard- und dem Standardkonstruktor?
- 3. Was ist der Unterschied zwischen dem Betriebssystem und dem Kernel?
- 4. Was ist der Unterschied zwischen $ scope. $ Root und $ rootScope?
- 5. Was ist der Unterschied zwischen OnStart und dem App Constructor
- 6. Was ist der Unterschied zwischen dem [OptionalField] und [NonSerialized]
- 7. Was ist der Unterschied zwischen einem Mixin und dem Dekorationsmuster?
- 8. Was ist der Unterschied zwischen dem neuen Operator und Class.newInstance()?
- 9. Was ist der Unterschied zwischen dem Schlüsselspeicherkennwort und dem Schlüsselkennwort in der Android Sign-Zertifizierung?
- 10. Was ist der Unterschied zwischen dem folgenden Muster in xsd?
- 11. Was ist der Unterschied zwischen dem Operator "+" in ggplot2 und dem Operator "%>%" in magritr?
- 12. Was ist der Unterschied zwischen dem Einfrieren des Benutzers und dem Deaktivieren des Benutzers in Salesforce?
- 13. Was ist der Unterschied zwischen dem Pfad "views" und dem in express.static verwendeten Pfad?
- 14. Was ist der Unterschied zwischen dem uwsgi-Protokoll und dem wsgi-Protokoll?
- 15. Was ist der Unterschied zwischen dem HttpRuntime Cache und dem HttpContext Cache?
- 16. Was ist der Unterschied zwischen dem OMF- und dem COFF-Format?
- 17. Was ist der Unterschied zwischen dem Verkleinern von CSS und dem Komprimieren von CSS
- 18. Was ist der Unterschied zwischen dem geänderten Wert und dem geänderten Ereignis von UITextField
- 19. Was ist der Unterschied zwischen dem Block "Stabilizer()" und dem Parameter "enable_self_stabilization"?
- 20. Was ist der Unterschied zwischen dem Ausführen eines Prozesses und dem Ausführen einer Befehlszeile?
- 21. Was ist der Unterschied zwischen dem Firebase und dem firebase-admin npm Modul?
- 22. Was ist der Unterschied zwischen dem Anklicken einer Checkbox und dem Aufruf ihrer '.click()' Funktion?
- 23. Was ist der Unterschied zwischen dem Cluster-Modul von Node.js und dem Cluster-Modul von Learnboost?
- 24. Was ist der Unterschied zwischen dem Submit-Mechanismus des Client-Browsers und dem ASP.NET-Postback-Mechanismus?
- 25. Was ist der Unterschied zwischen dem ETSI-M2M-Standard und dem OneM2M-Standard?
- 26. Was ist der Unterschied zwischen dem net/rpc-Paket von Golang und dem gRPC-Framework?
- 27. Was ist der Unterschied zwischen dem create index und dem alter add index von MySQL?
- 28. Was ist der Unterschied zwischen dem Stack eines Threads und dem Stack eines Prozesses?
- 29. Was ist der Unterschied (falls vorhanden) zwischen dem Modulsystem von Standard ML und dem OCaml-Modulsystem?
- 30. Was ist der genaue Unterschied zwischen dem Modell und dem Algorithmus?