之前在vue组件通信事件中添加循环参数,比如这样:
不能直接将循环列表的值传入组件自定义方法中,会覆盖原本返回值,这里使用了es6的延展符操作。更改为
bindChange(...arguments,item)
这样便可以获取到额外添加的参数;另外延展符也可用于拼接对象、数组,比如:
let arr1 = [1,2,3],arr2; arr2 = [...arr1,4,5]; // 1,2,3,4,5 let obj1 = {a:1},obj2; obj2 = {...obj1,a : 2} // {a:2}
拓展一下,因为延展符操作是直接返回新的对象,顺便对比了几种对象深拷贝的效率:
在常用的几种深拷贝中,不仅语法简单,效率也是最高的;
甚至还可以做到数组去重(语法最简单)
let arr = [1,2,3] new Set([...arr,2,3,4]); // 1,2,3,4