我有这个条件,检查这两个属性owner
和tenant
中的哪一个为真,并根据this.productStatusReferences
或{{1}为owner
分配一个字符串这是真的
tenant
我正在寻找一种更复杂的解决方案,例如与Lodash或es2015做同样的工作?
答案 0 :(得分:0)
我不确定这里是否有任何改进可能是你可以使用lodash路径检查安全并删除else if链。正如评论中已经提到的那样,当两者都没有设置时你需要一个案例
if (_.has(this.projectCurrentProduct, 'occupancyType.owner')) {
this.productStatusReferences = 'productStatusSale'
}
if (_.has(this.projectCurrentProduct, 'occupancyType.tenant')) {
this.productStatusReferences = 'productStatusRent'
}
if(_.isUndefined(this.productStatusReferences))
另一个改进是您可以将occupancyType更改为属性
projectCurrentProduct: {occupancyType:'owner'}
然后你可以维护一个排序地图,然后一次性设置
var prodcutStatusOf = {owner: 'productStatusSale', tenant: 'productStatusRent'};
var occupancyType = this.projectCurrentProduct.occupancyType;
this.productStatusReferences = prodcutStatusOf[occupancyType];