服務與工廠的混淆據我所知,當我在工廠內返回一個被注入控制器的對象時。在服務內部處理對象時,我將使用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;});變時user.first在……里面ACtrl結果證明user.first在……里面BCtrl也發生了變化。User是單身人士嗎?我的假設是在一個工廠的控制器中注入了一個新的實例?
3 回答
手掌心
TA貢獻1942條經驗 獲得超3個贊
app.factory('a', fn);app.service('b', fn);app.provider('c', fn);a存儲的值來自運行 fn,換言之: fn()b的存儲值來自 new英 fn,換言之: new fn()c的存儲值來自于 new英 fn,然后運行一個 $get實例的方法
cache.a = fn()cache.b = new fn()cache.c = (new fn()).$get()
thisthis.$get
- 3 回答
- 0 關注
- 507 瀏覽
添加回答
舉報
0/150
提交
取消
