Vue中关闭弹窗组件时销毁并隐藏
背景:在dialog弹窗组件中执行mounted钩子,将数据初始化,等取消关闭弹窗后,发现mounted钩子不执行原因:在vue的生命周期中,在页面初始化的时候mounted只会执行一次,关闭弹窗页面并没有销毁,所以不会再次执行<select-experience-group:trialMoneyRecordID=trialMoneyRecordID:showExperience...
·
背景:在dialog弹窗组件中执行mounted钩子,将数据初始化,等取消关闭弹窗后,发现mounted钩子不执行
原因:在vue的生命周期中,在页面初始化的时候mounted只会执行一次,关闭弹窗页面并没有销毁,所以不会再次执行
<select-experience-group
:trialMoneyRecordID=trialMoneyRecordID
:showExperienceGroup='showExperienceGroup'
@closeCover="handleExperienceGroup">
</select-experience-group>
解决办法:就是隐藏dialog的时候要销毁这个dialog。给dialog加v-if,在关闭dialog的时候将v-if设置为false这样会直接将其从DOM结构中抹除,到此问题解决。
修改后代码:
<select-experience-group
:trialMoneyRecordID=trialMoneyRecordID
:showExperienceGroup='showExperienceGroup'
v-if="showExperienceGroup" //利用v-if对页面进行销毁
@closeCover="handleExperienceGroup">
</select-experience-group>
更多推荐
已为社区贡献4条内容
所有评论(0)