angularjs - 将 ng-repeat 绑定(bind)到一个 promise

标签 angularjs angular-promise

我正在尝试将 $resource promise 绑定(bind)到 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 绑定(bind)到一个 promise:您将 UI 绑定(bind)到一个数组,然后填充该数组:

$scope.colors = [];

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

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

关于angularjs - 将 ng-repeat 绑定(bind)到一个 promise,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27858592/

相关文章:

javascript - UI路由器: understanding resolve promises flow of the root-sub states

javascript - Jasmine 单元测试中未调用 Angular $http.get 成功处理程序

javascript - 加载所有图像时解决 promise

javascript - AngularJS 和 Typescript 的 Promise

mysql - AngularJs 实时应用程序与 mysql 服务器

javascript - 使用 JavaScript 开发人员工具的 Angular 源的 Eclipse 大纲

javascript - DOM 中的 $scope 值为 null

javascript - Angular,停止渲染直到获得异步数据

javascript - 如何构建大型 AngularJS 应用程序

javascript - 如何使用 Node.js Express.js 和 Sequelize ORM 在 2 个表之间建立关系