角阵列滤波器

时间:2015-10-28 19:42:28

标签: angularjs angularjs-filter angularjs-resource

我有这段代码

function GuestWizardController($scope, ApiResourceBed, ApiResourceRoom) {
        $scope.rooms = ApiResourceRoom.query();
        $scope.showBeds = function( roomId ){
            $scope.beds = ApiResourceBed.query();
        };
        var vm = this;
        vm.data = {}
    }

ApiResourceBed和ApiResourceRoom是两个工厂。

我需要一个列出所有房间的选择元素。到目前为止,非常好。

问题是,当我选择一个房间时,它会触发showBeds功能。 现在,我需要一种方法来过滤床阵。因此,在第二个选择元素中,我只能呈现与所选房间相关的床。

我对角度很新。 有什么想法吗?

更新

ApiResourceBed工厂声明:

.factory('ApiResourceBed', ['APP', '$resource', function( APP, $resource, id ){
    return $resource( APP.API_REST + 'beds/:id');
}])

1 个答案:

答案 0 :(得分:1)

这是一个旧答案(由我回答),其中我构建了2个自定义过滤器,用于过滤选择输入。

2 multiple select and single option list

另一种解决方案可能是按所选房间过滤选项,但这取决于您的房间对象,我们需要更多信息。这可能就是一个例子:

<select ng-model="selectedRoom" ng-options="room for room in rooms"></select>

<select ng-model="selectedBed" ng-options="bed for bed in selectedRoom.beds"></select>