0
我做了这2个过滤器:Vue.js重用过滤
过滤器1个
Vue.filter('role',function(value,role)
{
if(!role || 0 === role.length)
{
return value;
}
return value.filter(function(item) {
return item.role.RoleName == role
});
});
过滤器2
Vue.filter('company',function(value,company)
{
if(!company || 0 === company.length)
{
return value;
}
return value.filter(function(item) {
return item.department.company.CompanyName == role
});
});
现在我想将它们结合起来。就像这样:
组合过滤
Vue.filter('employeefilter',function(value,employeeinfo,filteron)
{
if(!employeeinfo || 0 === employeeinfo.length)
{
return value;
}
return value.filter(function(item) {
return item.filteron == employeeinfo
});
});
我把它传递给组合过滤器:
v-for="employee in list | employeefilter selectedrole 'role.RoleName'
但不工作,我怎么能解决这个问题^
编辑
我现在通过它:
v-for="employee in list | employeefilter selectedrole 'item.role.RoleName'| employeefilter selectedcompany item.department.company.CompanyId"
错误:
Uncaught TypeError: Cannot read property 'replace' of undefined
由于这是辉煌的(也许有点远对我来说)。但我明白,我收到一个错误,你可以看看我的编辑? – Jamie
@jamie这意味着'filteron'是未定义的。我想你只需要在item.department.company.CompanyId''上面加引号:'v-for =“employee在list | employeefilter selectedrole'item.role.RoleName'| employeefilter selectedcompany'item.department.company.CompanyId' “' – Jeff