Ich erstelle gerade eine neue Eigenschaft in $ rootScope und setze ihren Wert in einem Modul.
$rootScope.test = 123;
Ich versuche dann, diesen Wert später in einer Service-Funktion zu referenzieren.
.factory("testFactory", function ($location, $http, $rootScope) {
/* .... */
return {
testFunction : function(){
console.log($rootScope);
console.log($rootScope.test);
},
/* .... */
Wenn ich die Konsolenausgabe in Chrome zu sehen, kann ich sehen, dass der Wert des Tests ordnungsgemäß in dem Objekt $ rootScope gesetzt wird, aber ich bin nicht in der Lage, die $ rootScope.test Syntax Referenz. $ rooScope.test gibt einfach undefined zurück.
Gibt es einen Grund, warum Sie nicht auf Eigenschaftswerte von $ rootScope in Diensten verweisen können? Oder versuche ich diesen Wert nicht korrekt abzurufen?
UPDATE - Ich habe eine Plunker geschaffen, der das Problem demonstriert, dass ich in laufen lasse. http://plnkr.co/edit/ePEiYh
Wie wäre es versucht, '.factory ("Testfactory", [ "$ location", "$ http", $ rootScope ", Funktion ($ location, $ http, $ rootScope) {...}];' – tymeJV
Stellen Sie sicher, dass Sie '$ rootScope.test = 123;' ausführen, bevor Sie 'testFactory.testFunction();' – AlwaysALearner
Wie haben Sie das gelöst? Ich habe genau das gleiche Problem.In der Konsole kann ich das Attribut in der ersten console.log sehen, aber in der zweiten, wenn ich versuche, das Attribut selbst zu drucken, kommt es als undefined –