Как я понимаю, когда внутри factory я возвращаю объект, который вводится в контроллер. Когда внутри службы я имею дело с объектом, используя this
и ничего не возвращаю.
Я был в предположении, что служба всегда была одиночной, и что новый factory объект вводится в каждый контроллер. Однако, как оказалось, объект factory тоже синглтон?
Пример кода для демонстрации:
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;
});
При изменении user.first
в ACtrl
получается, что user.first
в BCtrl
также изменяется, например. User
- одноэлементный?
Мое предположение заключалось в том, что новый экземпляр был введен в контроллер с помощью factory?