最佳答案
根据我的理解,当我在工厂中返回一个被注入到控制器的对象。在服务内部,我使用this
处理对象,不返回任何东西。
我假设服务是总是单例,并且在每个控制器中都注入了新建工厂对象。然而,正如事实证明的那样,工厂对象也是单例的吗?
演示的示例代码:
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;
});
当改变ACtrl
中的user.first
时,结果是BCtrl
中的user.first
也被改变了,例如User
是一个单例?
我的假设是一个新的实例被注入到一个带有工厂的控制器中?