2013-04-15 4 views
1

Я использую угловой ресурс,Угловой ресурс, настроить GET объект

я хотел бы расширить любой объект, возвращаемый на заводе-изготовителе с некоторыми расчетными свойствами от самого объекта.

Как добавить сообщение, сделайте шаг к фабрике ngResource?

ответ

3

Вы можете расширить прототип как это:

angular.factory('Person', ['$resource', function($resource) { 
    var Person = $resource(...); 

    ... 

    Person.prototype.computedProp = this.prop1 + this.prop2; 

    return Person; 

}]); 
0

Я не проверял совместимость еще, но в любом случае я хотел бы поделиться тем, как я это сделал его поддерживать стиль углового в моем коде просмотров.

Идея состоит в том, что вызов REST дает мне дистанцию ​​в KM и длительность (в формате, обрабатываемом методом moment.js). То, что я хотел достичь, - это вычислимое свойство, которое даст среднюю скорость в КМ/час.

.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; 
})