角度资源,自定义GET对象

时间:2013-04-15 10:22:53

标签: angularjs

我正在使用角度资源,

我想扩展工厂返回的任何对象,并使用对象本身的一些计算属性。

如何向ngResource工厂添加post get步骤?

2 个答案:

答案 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;
})