So wie ich es verstehe, gebe ich innerhalb einer Fabrik ein Objekt zurück, das in einen Controller injiziert wird. Wenn ich mich in einem Dienst befinde, behandle ich das Objekt mit this
und nichts zurückgeben.
Ich bin davon ausgegangen, dass ein Dienst immer ein Singleton und dass ein neues Fabrikobjekt wird in jeden Controller injiziert. Doch wie sich herausstellt, ist ein Fabrikobjekt auch ein Singleton?
Beispielcode zur Demonstration:
var factories = angular.module('app.factories', []);
var app = angular.module('app', ['ngResource', 'app.factories']);
factories.factory('User', function () {
return {
first: 'John',
last: 'Doe'
};
});
app.controller('ACtrl', function($scope, User) {
$scope.user = User;
});
app.controller('BCtrl', function($scope, User) {
$scope.user = User;
});
Beim Wechsel user.first
en ACtrl
es stellt sich heraus, dass user.first
en BCtrl
wird ebenfalls geändert, z. B. User
ein Singleton ist?
Meine Annahme war, dass eine neue Instanz in einem Controller mit einer Fabrik injiziert wurde?