将ng-repeat绑定到一个承诺

时间:2015-01-09 10:30:47

标签: angularjs angular-promise

我正在尝试将$ resource承诺绑定到ng-repeat。但我不能让它发挥作用。

HTML

<ul ng-controller="ColorsCtrl">
   <li ng-repeat="colors in getColors()"></li>
</ul>

剧本

app.module("myApp", ['ngResource'])

.factory('Color', function($resource) {
    return $resource('/colors.json');
})

.controller('ColorsCtrl', function($scope, Color) {
    $scope.getColors = function() {
       return Color.query();
    }
});

1 个答案:

答案 0 :(得分:3)

您不需要将UI绑定到承诺:将UI绑定到数组,然后填充数组:

$scope.colors = [];

var colors = Colors.query(function() {
   // fill here $scope.colors
});

在处理异步请求时,通常会在要显示数据的位置显示加载orb。