海通重构
1.抛弃if…else 使用对象映射,进行赋值,这里
实现的功能是根据userType
来对tabs
和selectedLabel
赋值。一般的做法是使用if..else
来进行赋值,这样虽然比较简单明了,但是明显可扩展性很差,也不是很规范。同时,这里还使用了三元运算符,考虑到以后新加的可以不用改代码。
//采用对象和三元运算符赋值,可扩展性较好
let tabObj = {
'1': [],
'2': [
{
label: '评论'
},
{
label: '话题'
}
],
'3': [
{
label: '专题'
},
{
label: '评论'
}
]
}
let selectDefaultObj = {
'1': '评论',
'2': '评论',
'3': '专题'
}
//默认tab传空,选项选择评论展示
this.tabs = tabObj[this.personalMsg.userType]
? tabObj[this.personalMsg.userType]
: []
this.selectedLabel = selectDefaultObj[this.personalMsg.userType]
? selectDefaultObj[this.personalMsg.userType]
: '评论'
2.Map||MDN
3.重构老项目,还没有接口文档,简直头皮发麻