一、思路
1、 单向数据流,没有回流的
image.png
2、最主要的一段,通过'update:removeSelected'和'update:addSelected'这两个事件去调控打开或关闭
//item.vue
toggle(){
if(this.open){
this.eventBus.$emit('update:removeSelected', this.name)
}else{
this.eventBus.$emit('update:addSelected', this.name)
}
}
3、还有经常会遗忘的一点,collapse.vue里,this.eventBus.$emit('update:selected', selected)
这句之后一定要再加上this.$emit('update:selected', selected)
,为了改变此组件上selected的值,父组件上属性后面要加上.sync;
4、不能直接改变props里面属性的值,可以通过深拷贝来进行改变,let selected = JSON.parse(JSON.stringify(this.selected))
网友评论