我正在使用角度资源,
我想扩展工厂返回的任何对象,并使用对象本身的一些计算属性。
如何向ngResource工厂添加post get步骤?
答案 0 :(得分:3)
您可以像这样扩展原型:
angular.factory('Person', ['$resource', function($resource) {
var Person = $resource(...);
...
Person.prototype.computedProp = this.prop1 + this.prop2;
return Person;
}]);
答案 1 :(得分:0)
我尚未测试兼容性,但无论如何我想分享我是如何做到这一点来在我的观看代码中保留Angular的风格。
这个想法是REST调用给了我KM的距离和持续时间(以moment.js可解析的格式)。我想要实现的是计算属性,它将以KM /小时为单位产生平均速度。
.factory('Times', function ($resource) {
var Times = $resource("api/users/:userid/times/:id", {});
Times.prototype.__defineGetter__("average_speed", function () {
return this.distance / moment.duration(this.duration).asHours();
});
return Times;
})