Wenn Render-Funktion in Vue.js verwenden, um ein dom-Element zu rendern, ich versuche, v-if-Anweisung mit JavaScript ist wie folgt umschreiben.Render-Funktion in Vue.js
export default{
destroyed(){
console.log("destroyed")
},
props:['show'],
render(h){
if(this.show){
return h('div',{domProps:{innerHTML:'test'},on:{click:this.quit}})
}
},
methods:{
quit(){
this.$destroy();
}
}
}
Aber wenn show falsch ist, scheint es, dass die Vue-Instanz nicht in den destory lifecycle geht.
Wenn ich die Methode vm. $ Destory verwende, geht die Instanz in den Lebenszyklus des Distory, aber das dom-Element existiert noch.
Wie dosiert es?
ich falsch sein könnte, aber ich denke, dass jede vue Komponente mindestens ein Element zu machen braucht. Wenn Sie nichts rendern, könnte Vue Probleme haben, die Komponente zu zerstören. – nils
@nils danke.Wenn ich ein Element zurückgeben, wie kann es zerstören Lebenszyklus zerstören? – liajoy