我正在尝试在Vue JS的计算属性内执行if / else语句以进行搜索,这是我所拥有的并且它不起作用,我该如何使其适应工作?
computed: {
filteredProperties: function(){
return this.properties.filter((property) => {
return property.address.match(this.searchAddress) &&
if (this.searchType.length > 1) {
this.searchType.some(function(val){
return property.type.match(val)
}) &&
} else {
property.type.match(this.searchType) &&
}
property.bedrooms.match(this.searchBedrooms) &&
property.county.match(this.searchCounty)
});
}
}
答案 0 :(得分:0)
您的语法错误,不能在表达式中间使用if语句。这会起作用:
computed: {
filteredProperties: function(){
return this.properties.filter((property) => {
let searchTypeMatch = this.searchType.length > 1
? this.searchType.some(function(val){
return property.type.match(val)
})
: property.type.match(this.searchType)
return property.address.match(this.searchAddress) &&
searchTypeMatch &&
property.bedrooms.match(this.searchBedrooms) &&
property.county.match(this.searchCounty)
});
}
}