Борьба с материалом API весь день и решила использовать Restanglar. На самом деле возникают проблемы с получением данных и в $ scope.
Я понимаю, что это будет не просто JSON, который возвращается из API, но и куча других внутренних методов и т. Д. Но когда я получаю данные, я могу увидеть, как он где-то находится в отладке с помощью console.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"}]}
Edit 1
Restangular ответ
[Object, Object, route: "horse", getRestangularUrl: function, getRequestedUrl: function, addRestangularMethod: function, clone: function…]
Edit 2
Я также попытался это - https://github.com/mgonto/restangular#using-values-directly-in-templates
$scope.horse = Restangular.all('horse').getList().$object;
Это приводит к выходу пустого массива. Я также попытался удалить setResponseInterceptor
и изменить структуру api, чтобы получить массив данных непосредственно без метафайла (ошибка и т. Д.), Без радости :(
спасибо за ответ, жаль, что я должен был быть более ясным, ответ API было то, что я получаю, когда я Гото соответствующий URL с клиентом REST в моем браузере. Теперь я добавил, что я возвращаюсь из Restangular, что, похоже, является кучей других вещей. Я могу видеть данные, зарытые в ответ «Restangularized», но, похоже, он не легко доступен, и я не могу поверить, что его трудно достать, поэтому я должен делать что-то глупое;) – Horse