Lassen Sie uns sagen, ich habe ein Modul App genannt, die genannten zwei weitere Module injiziert Fabriken und Controller:AngularJS: Share Werk zwischen mehreren Modulen
var app = angular.module("app", ["factories", "controllers", "directives"])
.run(function ($rootScope, userFactory) {
userFactory.property = "someKickstartValue";
});
Die Fabriken Modul enthält alle Fabriken:
var factories = angular.module("factories", []),
factory = factories.factory("testFactory", {
property: "someValue"
});
Und die Controller Modul enthält alle Controller:
var controllers = angular.module("controllers", ["factories"]),
controller = controllers.controller("controller", function ($scope, testFactory) {
console.log(testFactory.property); // Returns "Some Value" and not
// "someKickstartValue" as expected.
});
Die eigentliche Frage:
Warum wird die "someKickstartValue" nicht auf die Regler gelten? Soweit ich verstehe, das Modul App hat eigene testFactory Instanz und das Modul Controller hat es auch, so dass es keine Informationen zwischen Modulen über Fabriken geteilt werden kann. Gibt es einen Weg, oder habe ich einen Fehler gemacht?
In der ersten Zeile, starten 'var app' haben Sie falsch geschrieben" Fabriken " – Mawg
@Mawg Danke. Ich habe es geändert. Sollte jetzt korrekt sein :) – tmuecksch