Vue中關閉dialog時銷毀DOM、數據等
背景:今天在寫Vue時遇到一個用element-ui的dialog時,里面用路由播放視頻的時候,第二個視頻無法影響
多個數據共用一個dialog,但是除了第一次點擊的時候,觸發了引用頁面的created()里方法,無論再怎么點擊其它數據的方法也無法觸發created(),原因應該就是DOM已經渲染完畢不會再次渲染了,所以想要用其他數據就需要銷毀一下。
參考文章:https://blog.csdn.net/qq_25135655/article/details/94400290
根據原文章可知此方法可用於多種情況導致dialog內數據無法刷新的問題。
其實你已經想到了,就是隱藏dialog的時候要銷毀這個dialog。 度娘后發現給dialog加v-if,在關閉dialog的時候將v-if設置為false這樣el-tree會直接將其從DOM結構中抹除,到此問題解決。
<!--視頻播放的彈出框-->
<el-dialog
:title="this.dialogVideo.Title"
:visible.sync="dialogVideoVisible"
width="80%"
:before-close="handleClose"
v-if="dialogVideoVisible"
>
