Angularjs使用不同范围的ng-repeat填充下拉列表

时间:2014-03-12 00:09:53

标签: javascript angularjs

您好我有跟随控制器使用工厂从数据库获取数据工作正常。

我的服务是

App.factory("pOvRepository", ['$resource', function ($resource) {
    return {

        pw: $resource('/api/pOv/:id', { id: '@id' }, { update: { method: 'PUT' } }),
        ps: $resource('/api/pStatus/:id', { id: '@id' }, { update: { method: 'PUT' } })
    };

}]);

控制器

App.controller('pOvCtrl', function ($scope, pOvRepository,  $location) {
    $scope.poviews = pOvRepository.pw.query();
    $scope.pS = pOvRepository.ps.query();

我为$ scope.pS获取的数据是

    [{"p_status1":"Up Coming","p_id":1,"proj":[]},
{"p_status1":"In Progress","p_id":2,"proj":[]},
{"p_status1":"On Hold","p_id":3,"proj":[]}]

在我的html代码中,我尝试使用$ scope.pS

中的数据填充下拉列表
<div ng-controller="pOvCtrl">
 <form ng-repeat="p in poviews">
 <input type="text" ng-model="p.include_in"/>
<select ng-model="p.p_id" ng-options="a.p_status1 as a.p_id for a in pS"></select>
</form>

当我运行它时,下拉列表不会填充$ scope.pS中的选项 请让我知道如何解决它。 谢谢

1 个答案:

答案 0 :(得分:0)

如果没有看到您的服务很难说,您需要为数据指定回调:

pOvRepository.ps.query({}, function(data) {
    $scope.pS = data;
});