使用 $ngresource 承诺 Angularjs 填充 select 标签

Populate select tag with $ngresource promise Angularjs

我在页面上有一个 select,我想用从服务器获取的数据填充该页面。我正在使用服务来检索这些记录,但我如何才能从 promise 访问这些值并将它们放入 select 标签的 ng-option 中?

从资源获取数据:

  $scope.categories = Category.all({sorting:"asc"});

资源:

factory('Category', function ($resource) {
    return $resource('api/categories/:id', {}, {
        all: {method: "GET", isArray: true, params: {sorting: '@sorting'}},
        update: {
            method: "PUT",
            params: {
                id: "@id"
            }
        }
    })
}).

Category.all() 的调用应该 return 一个数组,当相应的 http 请求 return 时,该数组将填充检索到的值。如果你想 运行 完成一些代码,你可以像这样传递一个回调:

$scope.categories = Category.all({sorting:"asc"}, function() {
    // do something with the $scope.categories
});

您还可以获得这样的承诺:

$scope.categories = Category.all({sorting:"asc"})
    .$promise.then(function(categories) {
        // do something with the categories
    });