gpt4 book ai didi

javascript - 在哪里放置资源特定逻辑

转载 作者:可可西里 更新时间:2023-11-01 02:34:22 24 4
gpt4 key购买 nike

你能帮我考虑一下在 AngularJS 中的什么地方放置资源(服务)特定的业务逻辑吗?我觉得在我的资源上创建一些类似模型的抽象应该很棒,但我不确定如何做。

API 调用:

> GET /customers/1
< {"first_name": "John", "last_name": "Doe", "created_at": '1342915200'}

资源(在 CoffeScript 中):

services = angular.module('billing.services', ['ngResource'])
services.factory('CustomerService', ['$resource', ($resource) ->
$resource('http://virtualmaster.apiary.io/customers/:id', {}, {
all: {method: 'GET', params: {}},
find: {method: 'GET', params: {}, isArray: true}
})
])

我想做这样的事情:

c = CustomerService.get(1)
c.full_name()
=> "John Doe"

c.months_since_creation()
=> '1 month'

非常感谢任何想法。亚当

最佳答案

需要在域对象实例上调用的逻辑的最佳位置是此域对象的原型(prototype)

你可以这样写:

services.factory('CustomerService', ['$resource', function($resource) {

var CustomerService = $resource('http://virtualmaster.apiary.io/customers/:id', {}, {
all: {
method: 'GET',
params: {}
}
//more custom resources methods go here....
});

CustomerService.prototype.fullName = function(){
return this.first_name + ' ' + this.last_name;
};

//more prototype methods go here....

return CustomerService;

}]);

关于javascript - 在哪里放置资源特定逻辑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12076309/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com