【问题标题】:Populate select tag with $ngresource promise Angularjs使用 $ngresource promise Angularjs 填充选择标签
【发布时间】:2016-04-28 09:57:22
【问题描述】:

我在页面上有一个选择,我想用从服务器获取的数据填充它。我正在使用服务来检索这些记录,但是如何从 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"
            }
        }
    })
}).

【问题讨论】:

    标签: javascript angularjs angular-promise ngresource


    【解决方案1】:

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

    $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
        });
    

    【讨论】: