最近遇到了一种写法:
子组件是一个el-dialog,向子组件同时传v-if 和visible,且v-if和visible是同一个值,当v-if和visible同时为true的时候,子组件dialog中不会调用@open方法.
原因:
时机问题:
Vue 的更新是异步的,当 v-if 和 visible 同时从 false 变为 true 时:
- v-if 先使组件创建和挂载
- visible 属性随后传递
- el-dialog 在初始化时如果 visible 已经是 true,可能不会触发 open 事件