vue -- 生命周期 组件嵌套触发事件流程

1,141 阅读1分钟

1. 组件关系



说明:点击预览、编辑的组件均以弹窗方式显示

父子关系:index.vue  (父)- listItem.vue (子,index.vue中)  & edit.vue (子, index.vue中)

                   edit.vue (父) - listItem.vue (子,弹出框中)

兄弟组件:index.vue中  listItem.vue(兄弟) - edit.vue(兄弟)

2. 父子组件生命周期执行

1. 进入首页


2. 点击编辑(listItem点击编辑会Bus.emit('edit'),index.vue监听到编辑事件会打开dialog中的edit组件)


3. 点击弹出框中edit中的预览(弹框中edit和index中edit是两个独立创)


退出预览,在点击预览


退出预览,不触发任何生命周期

退出弹框中edit.vue 


4. index.vue中edit点击预览


退出预览,在点击预览


5. 切换路由


总结: 

1. 每个组件只会创建一次,且当前页面持有该组件时,组件还未销毁,切换路由,之前页面创建的组件会一一销毁

2. 子组件创建\update会引起父组件update

3. 一般情况下,不其他操作组件创建与销毁的顺序相反