在项目开发中,遇到vue dialog嵌套组件,每次打开弹窗都会加载上一次的缓存的问题,做个笔记记录一下解决方法。
1.解决方法
在dialog外套一层div,div中以v-if来控制组件el-dialog的出现与否,每次弹出el-dialog,都会执行mounted,而不加div,只会执行一次。
2.具体代码
<div v-if="dialog['测试弹窗']">
<el-dialog
class="gzdev"
title="测试弹窗"
:visible.sync="dialog['测试弹窗']"
width="1200px"
top="0px"
@close="dialog.测试弹窗 = false;"
:show-close="false"
:close-on-click-modal="false"
center
>
<div class="test-warp">
<test-view></test-view>
</div>
</el-dialog>
</div>