使用场景:
有时我们需要干掉当前的DOM重新开始,例如:在这样一个修改弹窗内有一个滑动选择器组件。每次打开这个修改弹窗,都需要使这个组件重新加载一次,不然就会触发组件内的change事件。
这里记录两个方法:
1.v-if
思路:设置一个变量ifOpen,一开始设置为false。在滑动选择器组件的标签内绑定v-if=“ifOpen”。在打开这个修改弹窗时使ifOpen=true,关闭时使ifOpen=false,这样每次打开弹窗时滑动选择器组件都能被重新渲染。
2.:key
<template>
<component-to-re-render :key="componentKey" />
</template>
export default {
data() {
return {
componentKey: 0,
};
},
methods: {
forceRerender() {
this.componentKey += 1;
}
}
}