在一个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的时候,有时并不是我们想要的结果。

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐