Ich möchte eine Variable, die in allen Controllern verwendet werden kann, aber keinen Dienst für sie erstellen möchten. Ist es in angular js möglich?Wie deklariert man eine globale Variable mit Angular Js?
Antwort
Sie können constants or values verwenden.
Konstanten
var app = angular.module('myApp', []);
app.constant('appName', 'Application Name');
app.controller('TestCtrl', ['appName', function TestCtrl(appName) {
console.log(appName);
}]);
Werte
var app = angular.module('myApp', []);
app.value('usersOnline', 0);
app.controller('TestCtrl', ['usersOnline', function TestCtrl(usersOnline) {
console.log(usersOnline);
usersOnline = 15;
console.log(usersOnline);
}]);
http://ilikekillnerds.com/2014/11/constants-values-global-variables-in-angularjs-the-right-way/
Hallo Danke für die Antwort. – Neel
Sie könnten diese Variable auf $ rootScope setzen. und injizieren Sie $ rootScope in die Controller, die den globalen verwenden.
Verwenden value()
ein Objekt, und speichern Sie Ihre globalen Variablen "als Eigenschaften zu definieren, dieses Objekt. Fügen Sie dann das Objekt als Abhängigkeit zu einem beliebigen Controller hinzu, der auf seine Eigenschaften zugreifen muss. Dies hat einen positiven Nebeneffekt, alle Ihre Variablen in ein einzelnes Objekt zu kapseln, was sauber und weniger wahrscheinlich ist, Namespace-Kollision zu erleiden.
Hier ist das Muster:
app.value('myVars', {
usersOnline:0
});
app.controller('TestCtrl', ['myVars', function TestCtrl(myVars) {
console.log(myVars.usersOnline);
myVars.usersOnline = 15;
console.log(myVars.usersOnline);
}]);
FYI Aseem Antwort wird nicht funktionieren, weil sein Beispiel value()
mit einem primitiven Typ verwendet. Um klar zu sein, was nicht funktioniert:
app.value('usersOnline', 0);
app.controller('TestCtrl', ['usersOnline', function TestCtrl(usersOnline) {
console.log(usersOnline);
usersOnline = 15; // <-- THIS WILL NOT PERSIST outside the controller.
console.log(usersOnline);
}]);
Matthew ist genau richtig. Wenn der Wert als Objekt nicht definiert wurde, wird der sich ändernde Wert innerhalb eines bestimmten Controllers nicht nach außen verlängert. –
das funktioniert nicht. – ritesh
- 1. Wie deklariert man eine globale Variable in React?
- 2. Wie deklariert man globale Variable in angularjs app.js?
- 3. Wie deklariert man eine globale Konstante in Python?
- 4. Wie deklariere ich eine globale Variable in einer .js-Datei
- 5. Wie deklariert man globale Variablen in Perl richtig?
- 6. deklariert eine Variable eine Anweisung
- 7. Angular JS - Variable Aktualisierung mit Intervall
- 8. Wie deklariert man eine Variable vom Typ Liste <string> in typeScript?
- 9. Wie deklariert man eine gemeinsame Variable für Jquery und Angular 2 Typescript
- 10. Wie viele ng-App kann in Angular JS deklariert werden?
- 11. Wie man eine statische Variable deklariert, aber nicht definiert
- 12. Wie benutzt man globale Variable in web2py?
- 13. War eine statische Variable eine globale Variable?
- 14. Jest globale Variable Beispiel
- 15. Globale Variable in Qt, wie?
- 16. xsl: Wie kann ich feststellen, ob eine Variable deklariert wurde?
- 17. Warum muss eine Variable als globale Variable deklariert werden, bevor sie zugewiesen wird?
- 18. Wie speichert man eine globale Variable in einem Kolben?
- 19. Angular 2 plain ES6 - wie deklariert ViewChild?
- 20. Python globale Variable Probleme
- 21. bash - Wie deklariert man eine lokale Ganzzahl?
- 22. Wie übergebe ich Daten mit Mongoose an eine globale Variable?
- 23. Wie programmgesteuert eine globale (Modul) Variable festlegen?
- 24. Wie verhindert man, dass ksh unter Linux eine globale Variable durch eine lokale Variable überschreibt?
- 25. Variable implizit deklariert und Prototypen
- 26. Angular Aufruf eine Variable aus verschiedenen Js-Datei
- 27. Wie exportiere ich eine globale Variable von Require.js?
- 28. Angular Js + TypeScript: Wie erstellt man eine dynamische Tabelle
- 29. Wie filtert man eine Auswahlliste in Angular JS?
- 30. Angular JS - Wie erwähnt man Modulabhängigkeiten?
Es ist möglich - siehe @Alan Antwort - aber es wird nicht empfohlen. Was wird die Var enthalten? – Okazari
Sie sollten die Antwort von Aseem verwenden, die Nutzung des $ rootScope für Variablen wird als großer Konstruktionsfehler in der eckigen Welt betrachtet. Aus diesem Grund gibt es Dienstleistungen/Fabriken. – mikeswright49