在下面的函数中,元素数据包含多个记录集。 我想要做的是过滤它,使它只返回id为' selectedModelDrv'的行。我试过但是得到了各种各样的错误,有人能告诉我这种角色的方式吗?
vm.driverModelSelectorGo = function () {
var selectedModelDrv = vm.driver.driverModelId;
return datacontext.lookup.getLookupList(datacontext.lookupLists.driverModel).then(function (data) {
//Filter 'data' so that data.driverModelId == selectedModelDrv
})
};
问候Max
答案 0 :(得分:1)
将$ filter注入您的控制器
function myCtrl($scope, $filter)
{
}
然后,无论您想要使用哪个过滤器,只需使用它:
$filter('filter');
像这样:
vm.driverModelSelectorGo = function () {
var selectedModelDrv = vm.driver.driverModelId;
return datacontext.lookup.getLookupList(datacontext.lookupLists.driverModel).then(function (data) {
$scope.filteredData = $filter('filter')(data,{id:selectedModelDrv});
})
};
答案 1 :(得分:0)
如果数据是一个数组,那么您可以使用Array.prototype.filter
过滤数据数组并仅返回符合条件的结果。
vm.driverModelSelectorGo = function () {
var selectedModelDrv = vm.driver.driverModelId;
return datacontext.lookup.getLookupList(datacontext.lookupLists.driverModel).then(function (data) {
return data.filter(function(value) {
return value.driverModelId == selectedModelDrv;
});
})
};