我有这段代码
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');
}])
答案 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>