vue el-dialog中destroy-on-close使用注意事项
在一个el-dialog弹窗,希望:打开弹窗后创建WebSocket进行通信。关闭窗口同时关闭WebSocket。这样实现的:el-dialog中子元素created时创建WebSocket。在组件destroyed销毁的时候。关闭WebSocket。结果:关闭窗口的时候,发现又重新创建了连接。也就是关闭窗口的时候,执行了组件的created。有点不符合逻辑后来查询发现:destroy-on-cl
·
在一个el-dialog弹窗,希望:打开弹窗后创建WebSocket进行通信。关闭窗口同时关闭WebSocket。
这样实现的:el-dialog中子元素created时创建WebSocket。在组件destroyed销毁的时候。关闭WebSocket。
结果:关闭窗口的时候,发现又重新创建了连接。也就是关闭窗口的时候,执行了组件的created。有点不符合逻辑
后来查询发现:
destroy-on-close:官方说明:关闭时销毁 Dialog 中的元素,但是其实并没有销毁。只是进行了重新渲染
v-if:销毁元素
1、如果要真的销毁元素就使用v-if
2、如果要用destroy-on-close,注意关闭的时候,并不是我们理解的销毁元素,而是触发组件生命周期。相当于重新渲染了组件。这就是为什么我们打开关闭dialog的时候,有时并不是我们想要的结果。
更多推荐
已为社区贡献5条内容
所有评论(0)