Sie können stattdessen Shared Service verwenden, der Ihren Wert zurückgibt und der in Ihrem Controller diesen Dienst als Abhängigkeit injiziert.
z.B.
angular.module('yourApp')
.value("username", "Jon")
.controller("index", ["$scope", "username", function($scope, username) {
$scope.username = username;
}]);
oder durch die Verwendung von Fabrik Rezept:
angular.module('yourApp')
.factory("username", function(){
var value = 'John';
return {
get: function(){
return value;
},
set: function(newName){
value = newName;
}
}
})
.controller("index", ["$scope", "username", function($scope, username) {
$scope.username = username.get();
}]);
Wenn dieser Wert dynamisch sein wird Sie Wert als Objekt speichern und Referenz zurück, dann müssen Sie nicht manuell erstellt Uhren verwenden, um zu sehen, wenn der Wert geändert:
angular.module('yourApp')
.factory("username", function(){
var username = {
value: 'John'
};
return {
get: function(){
return username;
},
set: function(newName){
username.value = newName;
}
}
})
.controller("index", ["$scope", "username", function($scope, username) {
$scope.usernameObj = username.get();
}]);
und im Blick:
{{usernameObj.value}}
können Sie dies auch mithilfe der prototypischen Vererbung von $scope
tun, indem Sie den Wert im übergeordneten Bereich speichern.
Mögliche Duplikate von [Angularjs Daten zwischen Controllern teilen] (http://stackoverflow.com/questions/18227090/angularjs-sharing-data-between-controllers) –