Angular 数组过滤器
Angular array filter
我有这个代码
function GuestWizardController($scope, ApiResourceBed, ApiResourceRoom) {
$scope.rooms = ApiResourceRoom.query();
$scope.showBeds = function( roomId ){
$scope.beds = ApiResourceBed.query();
};
var vm = this;
vm.data = {}
}
ApiResourceBed 和 ApiResourceRoom 是两个工厂。
我需要一个列出所有房间的 select 元素。到目前为止,还不错。
问题是,当我 select 一个房间时,它会触发 showBeds 函数。
现在,我需要一种方法来过滤床阵列。因此,在第二个 select 元素中,我只能显示与 selected 房间相关联的床。
我对 angular 很陌生。
有什么想法吗?
更新
ApiResourceBed 工厂声明:
.factory('ApiResourceBed', ['APP', '$resource', function( APP, $resource, id ){
return $resource( APP.API_REST + 'beds/:id');
}])
这是一个旧答案(由我回答),我在其中构建了 2 个自定义过滤器来过滤 select 输入。
另一种解决方案可能是按 selected 房间过滤选项,但这取决于您的房间对象,我们需要更多信息。这可能是一个例子:
<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>
我有这个代码
function GuestWizardController($scope, ApiResourceBed, ApiResourceRoom) {
$scope.rooms = ApiResourceRoom.query();
$scope.showBeds = function( roomId ){
$scope.beds = ApiResourceBed.query();
};
var vm = this;
vm.data = {}
}
ApiResourceBed 和 ApiResourceRoom 是两个工厂。
我需要一个列出所有房间的 select 元素。到目前为止,还不错。
问题是,当我 select 一个房间时,它会触发 showBeds 函数。 现在,我需要一种方法来过滤床阵列。因此,在第二个 select 元素中,我只能显示与 selected 房间相关联的床。
我对 angular 很陌生。 有什么想法吗?
更新
ApiResourceBed 工厂声明:
.factory('ApiResourceBed', ['APP', '$resource', function( APP, $resource, id ){
return $resource( APP.API_REST + 'beds/:id');
}])
这是一个旧答案(由我回答),我在其中构建了 2 个自定义过滤器来过滤 select 输入。
另一种解决方案可能是按 selected 房间过滤选项,但这取决于您的房间对象,我们需要更多信息。这可能是一个例子:
<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>