最近問題が発生しました。コンポーネントはどのように破棄すればよいですか? たくさんの情報を読んで、いくつかのポイントを要約します。
1. 使用: キー
親コンポーネントには必ず次のキーを記述してください。そうしないと成功しません。!!!!
2.v-if
v-if は、display:none ではなく dom を直接削除するため、v-if が true の場合、前後にリロードされます。
上記のように親コンポーネントに記述します!!
<template>
<div class="home">
<HeiHei v-if="heiKey"></HeiHei>
</div>
</template>
<script>
import HeiHei from "@/components/HeiHei.vue";
export default {
name: "TableTest",
components: {
HeiHei,
},
data() {
return {
heiKey: true,
};
},
mounted() {},
computed: {},
methods: {
change() {
this.heiKey = false;
this.$nextTick(() => {
this.heiKey = true;
});
},
},
};
</script>
this.$nextTick を書いて、dom が更新された後にコールバックして、再ロードされるようにします ~
3.this.$destory
このライフサイクル関数には this.$destroy を記述する必要があります。
deactivated() {
this.$destory(组件名称)
}
あとはコンポーネントのdestroyedに書き込むだけです。