Restangular数据,进入$范围的列表(Restangular data, getting i

2019-10-21 13:59发布

已经与API的东西,整天摔跤,并决定使用Restanglar。 真的有获取数据出来的问题,并为$范围。

据我所知,它不会仅仅是从API返回的JSON,并有一堆其他的内部方法等,但是,当我得到的数据出来,我可以看到它在某处调试陪葬的console.log,但我似乎无法得到它变成$范围在我看来,这是以前工作正常使用它。

我怎样才能得到这些数据,进入我的$范围,因此,我的观点?

模型

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

restangular响应

[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的结构导致直接数据阵列而不元的东西(错误等),没有喜悦:(

Answer 1:

这些数据似乎是未来通过。 我注意到你正在使用类固醇,你检查的标记,而不只是控制台?

确保你的范围微调设置为false,以确保在数据来源通过微调是隐藏的。

$scope.ShowSpinner = false;



Answer 2:

假设你已经显示为“API响应”是什么正从你的控制器输出的console.log,似乎所有你需要做的是设置你的示波器型号在这样的响应数据的属性“马”:

$scope.horse = horse.horse;   

由于读取很奇怪的是,你应该改变。然后回调的数据,这将是一个更加不可知的标准PARAM名的帕拉姆名称。 如果你做出的改变,你可以从你的回调像这里面的设置你的马的数据到你的范围模式:

$scope.horse = data.horse;

如果我误解了你的问题让我知道。 希望这是有帮助的。



文章来源: Restangular data, getting into $scope for a list