insight

260 阅读1分钟

1.处理图片

  • img 的src值不能直接引入,需要使用一个getImg方法,返回一个require(src),
  • 例如:
<img :src='getImg(src)'>
methods:{
    getImg(src){
        if(src){
            return require('@/pathname'+src)
        }
    }
}

2.请求(包括错误处理)

    // test
    async init() {
      try {
        const res = await this.$api.get()
        if (res.code === 0) {
          console.log('success')
        } else {
          console.log(res.msg)
        }
      } catch (err) {
        console.log(err)
      }
    }

遇到的问题

1.分页器bug

描述: 删除当前页数据时,如果还剩最后一项数据,则会请求不到数据 解决方法: 删除的方法里增加一个逻辑,定义当前页数据length值,删除成功之后,如果length值为1,则让pageNum--,然后再发请求(当时用的是element-admin的分页)

2.nrm

npm下载地址的管理器,使用教程

3.重名检测

有一个需求是让前端做一个重名检测,有两处用到此逻辑,第一个是新增项目,第二次是编辑项目,新增直接检测,编辑需要做一个处理,需要剔除编辑当前项,再检测(talk is cheap,show me the code)

 // 获取最新所有数据,重名检测
    checkSameName(arr, data) {
      return arr.some(e => e.assetName === data.assetName)
    },
    // 确认添加资产
    async confirmAddAssets(params) {
      // 先获取所有的itemlist
      var res = await this.$api.dataManage_getAllTableData()
      if (this.checkSameName(res.object, params)) {
        // res.object是itemlist(所有的),params是item(当前的)
        this.$notify.warning({ title: '警告', message: '名称重复,请重新命名~' })
        return
      }
     // do something else
    },
    // 确认编辑资产
    async confirmEditData(params) {
      // console.log(params)
      var res = await this.$api.dataManage_getAllTableData()
      var arr = res.object
      arr = arr.filter(e => e.id !== params.id)
      console.log(arr, 'arr')
      // console.log(res)
      if (this.checkSameName(arr, params)) {
        this.$notify.warning({ title: '警告', message: '名称重复,请重新命名~' })
        return
      }
      // do something else
    },

4.git

  • git clone url --> 不指定分支
  • git clone -b 分支名 url --> 指定分支

5.git为不同的项目设置不同的用户名

找到项目中的.git文件夹(一般隐藏了),找到config文件,添加配置:

[user]
    name = XXX
    email = XXXX

保存退出

5.更新iconfont

选择图标-->添加至项目-->下载至本地-->将画圈的文件替换-->成了