【发布时间】:2015-01-08 15:53:25
【问题描述】:
整天都在与 API 打交道,因此决定使用 Restanglar。将数据导出并导入 $scope 确实存在问题。
我知道它不仅仅是从 API 返回的 JSON,还有许多其他内部方法等。但是当我把数据拿出来时,我可以看到它隐藏在控制台调试的某个地方.log,但我似乎无法将它放入 $scope 以在我之前运行良好的视图中使用它。
如何将这些数据导出到我的 $scope 以及我的视图中?
型号
angular.module('horse', ['restangular'])
.config(function(RestangularProvider) {
RestangularProvider.setBaseUrl('http://url/api');
RestangularProvider.setResponseInterceptor(
function(data, operation, what) {
if (operation == 'getList') {
return data[what];
}
return data;
});
});
控制器
angular
.module('horse')
.controller("IndexController", function ($scope, Restangular) {
$scope.horse = null;
$scope.showSpinner = true;
Restangular.all('horse').getList().then(function(horse) {
$scope.horse = horse;
console.log($scope.horse);
});
});
API 响应
{"error":false,"horse":[{"id":"1","name":"horse 2"},{"id":"2","name":"horse 2"}]}
编辑 1
静止角响应
[Object, Object, route: "horse", getRestangularUrl: function, getRequestedUrl: function, addRestangularMethod: function, clone: function…]
编辑 2
我也试过这个 - https://github.com/mgonto/restangular#using-values-directly-in-templates
$scope.horse = Restangular.all('horse').getList().$object;
这只会导致输出一个空数组。我还尝试删除 setResponseInterceptor 并修改 api 的结构以直接生成数据数组而没有元数据(错误等),不高兴:(
【问题讨论】:
标签: angularjs restangular steroids