是的,我正在使用$ resource和query来访问RESTful接口,该接口以下列格式给出响应:
record (array[RecordResponse], optional)
例如:
{
"record": [
{
"countryID": 732,
"countryName": "Western Sahara",
"countryISO": "EH",
"countryISO3": "ESH"
},
{
"countryID": 4,
"countryName": "Afghanistan",
"countryISO": "AF",
"countryISO3": "AFG"
},
{
"countryID": 8,
"countryName": "Albania",
"countryISO": "AL",
"countryISO3": "ALB"
}
]
}
我当前的$ resource查询如下所示:
return $resource('http://mydatasource/countries?fields=countryID%2CcountryName%2CcountryISO%2CcountryISO3', {}, {
query: {method:'GET', isArray:false}
})
在我的控制器中,我使用以下方式访问资源:
$scope.places = Countries.query();
然后我可以在我的视图中放入一个很好的列表并做一些事情,例如:
<tr ng-repeat="country in places.record">
<td>{{country.countryName}}</td>
</tr>
那里没有问题!
但是,当我尝试使用控制器中返回的数据执行过滤器等时,我遇到了问题。我需要从记录数组中获取JSON对象,但我不确定如何在视图外部执行此操作!
任何指针都会非常感激。
由于
答案 0 :(得分:0)
按照惯例,我提交一个问题,我认为我想出了一个解决方案......
我将$资源更新为:
return $resource('http://mydatasource/countries?fields=countryID%2CcountryName%2CcountryISO%2CcountryISO3', {}, {
query: {
method:'GET',
isArray:true,
transformResponse: function(data, header) {
var wrappedobj = angular.fromJson(data);
return wrappedobj.record;
}
}
})
希望这也可以帮助其他人!