0
我正在重寫ES6中的所有AngularJs代碼。我有一個用戶服務,是一個工廠,返回$resource
對象:
angular.module('cdcApp')
.factory('User', function ($resource) {
return $resource('/api/users/:id/:controller', {
id: '@_id'
},
{
changePassword: {
method: 'PUT',
params: {
controller:'password'
}
},
get: {
method: 'GET',
params: {
id:'me'
}
}
});
});
它已被改寫爲以下幾點:
class User {
constructor($resource) {
this.$resource = $resource;
this.resource = this.$resource('/api/users/:id/:controller', {
id: '@_id'
}, {
changePassword: {
method: 'PUT',
params: {
controller: 'password'
}
},
get: {
method: 'GET',
params: {
id: 'me'
}
}
});
}
}
angular.module('cdcApp')
.service('User', User);
然而,它打破了我的舊控制器,因爲我必須使用User.resource
代替正常情況下正常的User
。有沒有什麼解決方法來實現這一目標?
工廠不是一個班級。你爲什麼要用'class'語法來編寫它? – Bergi
@Bergi這就是爲什麼我重寫它作爲服務,而不是工廠。 – lvarayut
但是你*想*一個返回資源的工廠,不是嗎?你的代碼沒有錯,不需要重寫它。 – Bergi