@[Spread, Reast, …arr]
基本操作
spread:
- 数组的 spread 操作
function foo (x, y, z) {
…
}
let arr = [1, 2, 3]
foo (…arr) - 对象的 spread 操作,这里写一个对象的复制操作
let obj = {
name: ‘张三’,
age: 20,
sex: ‘男’
}
let temp = (…obj)
这里使用 …obj ,用在 vue 中 [obj1, obj2, obj3, obj4, obj5] 中更新其中的某一项,比较简单。
例子:
let Bus = new Vue()
// 发射
Bus.$emit('changeClassCount', 1)
// 监听 this.activeIndex 是当前操作的序号, this.classList 是[obj1, obj2, obj3, ......]
Bus.$on('changeClassCount', (val) => {
this.classList[this.activeIndex].count = this.classList[this.activeIndex].count * 1 + val * 1
let temp = {...this.classList[this.activeIndex]} // ...obj
this.$set(this.classList, this.activeIndex, temp)
})
Reast:
用法和 Spread 差不多
function foo (…arr) {
…
}
foo (1, 2, 3, 4, 5)