一些小技巧和一些方法

怎么判断一个对象是否为空

封装一个函数,使用 for i 这个循环,如果进这个循环,说明这个对象不是空,如果没进入这个对象则说明是空对象

 function flag(obj) {
      for (let i in obj) {
        return true;
        // 进入循环直接返回true
      }
      return false;
      // 没有进入循环返回 false
    }

或者使用ES6新增的方法,Object.keys() 方法会返回一个由一个给定对象的自身可枚举属性组成的数组。我们可以依靠Object.keys()这个方法通过判断它的长度来知道它是否为空。

function checkNullObj (obj) { return Object.keys(obj).length === 0 };  
// 如果他的length等于0 则返回true
// 如果他的length不等于0 则返回false

vue项目打包后页面空白

路由有2种模式,默认使用的是hash模式,如果使用的history模式,打包时需要进行额外的配置。
查看详情

深度合并2个对象

function deepMerge(obj1, obj2){
 	 // 参数1:原数据
      // 参数2:要合并的数据
      for (var key in obj2) {
        // 遍历要合并的数据
        if (obj2.hasOwnProperty(key)) {
          // 判断拷贝自身的属性,而不拷贝原型上的
          if (obj1[key] && obj1[key].toString() === "[object Object]") {
            // 如果要合并数据的key存在于元数据中,那么判断其类型是否是对象
            obj1[key] = this.ss(obj1[key], obj2[key]);
            // 如果是对象,调用自身,在吧原数据的key当作参数1,要合并数据的key当作参数2
          } else {
            obj1[key] = obj2[key];
            // 如果要合并数据的key在原数据中不存在,就直接拷贝
          }
        }
      }
      return obj1;
      // 返回原数据
}

因为是合并而不是拷贝,这里没有使用深拷贝

axios携带2份token

请求数据和上传图片封装2个函数。可能会出现携带2份token
只要在这2个函数中各自创建自己的axios实例就好了,这样就不互相关联了

前端模糊搜索

includes(string)

const str = 'hello world';
console.log(str.includes('hello')); // true
console.log(str.includes('word')); // false

抛出一个错误

throw new Error("错误");
// 手动抛出一个错误
// 可以使用try{}catch(err){} 来进行捕获

element表头排列顺序混乱

可以采用为每个Table-column添加一个唯一属性key的方式来保证表格渲染的顺序,例子如上
此方面针对于这种判断条件多的表格渲染

 <el-table :data="list"> 
	<el-table-column key="1"></el-table-column>
	<el-table-column key="2"></el-table-column>
  </el-table>
        

如有不解之处,请留言评论
如有更好的方法,请提出。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值