将 ng-repeat 绑定到一个 promise

Bind ng-repeat to a 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();
    }
});

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

$scope.colors = [];

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

在处理异步请求时,通常会在要显示数据的地方显示一个加载球。