维护老项目,就只是在上面添砖加瓦,但是重构老项目,就相当于你把他吃了,再拉一坨新的出来
目前遇到的问题如下:
1、多层if else
list.forEach(item => {
if(item.type === 'excel'){
item.icon = require('文件路径')
}else if( .... ){
// 重复以上步骤
}
}
像上面这种多层if去判断同一个变量的时候,可以有以下几种方法
// 可以使用switch
switch(item.type){
case: 'excel':
item.icon = require('文件路径')
return
//重复以上步骤,记得加default
}
// 或者用对象或者map映射
// ↓↓↓↓↓↓对象↓↓↓↓↓↓
const file = {
excel: '图片路径'
}
const defaultFile = '默认图片'
const url = file[item.type] || defaultFile
// ↓↓↓↓↓↓map↓↓↓↓↓↓
const file = new Map([
['excel','图片路径']
])
const defaultFile = '默认图片'
const url = file.get(item.type) || defaultFile
// ↓↓↓↓↓↓关于引入↓↓↓↓↓↓
item.icon = require('@/assets/file' + url)
// 这里如果直接写url会报错,原因是require引用的是path,前面要固定一下