【发布时间】:2015-11-13 06:29:44
【问题描述】:
我想从服务器获取对象,例如:
var User = $resource('/user/:userId', {userId:'@id'});
我希望User 实例都有特定的方法来计算派生数据,而无需服务器返回它。例如,说:
var aUser = User.get({userId: 43});
服务器返回如下内容:
{id: 43, name: "Bob", alertTimestamp: 1447365544}
我希望能够做类似的事情:
if (aUser.alertTimePassed()) {
// do stuff
}
有没有一种干净的方法可以做到这一点,而不是像这样看起来很hacky?
var alertTimePassed = function () {
var now = (new Date()).getTime() / 1000;
return now >= this.alertTimestamp;
};
var User = $resource('/user/:userId', {userId: '@id'}, {
get: {
method: "GET", url: '/user/:userId',
transformResponse: [angular.fromJson, function (obj) {
obj.alertTimePassed = alertTimePassed;
}]
}
});
【问题讨论】:
标签: javascript angularjs prototype