Mr *_*yde 12 angularjs angular-resource
在angularjs资源中,我想将我的json数据转换为JS对象
//Complex object with inheritance chain
function Car(year, make){
this.make = make;
this.year = year;
}
var carResource = $resource("/api/car/id", {id: '@id'},
{
get: {
method: 'GET',
transformResponse: function(data, headersGetter){
return new Car(data.make, data.year);
}
}
}
)
然而,这似乎并没有发生
我得到的是一个$resource对象,意味着属性make和year设置正确,但返回的对象的原型指向$resource
有没有办法可以将我的json数据直接映射到我自己的对象?
或者我是否必须编写自己的"资源"实现?
Ste*_*wie 16
transformResponse在$http水平上执行.使用自定义配置对象自定义$ resource操作时,该对象实际上会传递给基础$http服务.因此,如果指定transformResponse回调,它将在$http级别上执行,并且转换的结果将传递回$ resource.
$ resource服务将从您的响应数据(已经由transformResponse回调转换)实例化新对象,并且此新对象将是$ resource本身的实例.
因此,您的car对象将Car只是片刻的一个实例,直到它的属性被复制到新$resource对象中.
这是一个简单的过程视图:
Car)无论如何,我不建议装饰或扩展$ resource服务,因为使用$ http服务编写自己的实现更简单.
| 归档时间: |
|
| 查看次数: |
11134 次 |
| 最近记录: |