2.6.10
https://codepen.io/aaronbird/pen/JVRKwa
Ich habe eine Demo geschrieben:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta http-equiv="X-UA-Compatible" content="ie=edge" />
<title>demo</title>
<style>
.link {
cursor: pointer;
user-select: none;
}
</style>
</head>
<body>
<script src="https://unpkg.com/vue/dist/vue.js"></script>
<div id="app">
<transition>
<keep-alive include="foo">
<component :is="target" @change="onChange"></component>
</keep-alive>
</transition>
</div>
<script>
const Foo = {
name: "foo",
template: `<div class="link" @click="$emit('change', 'bar')">Go to Bar</div>`
};
const Bar = {
name: "bar",
template: `<div class="link" @click="$emit('change', 'foo')">Go to Foo</div>`
};
Vue.component("foo", Foo);
Vue.component("bar", Bar);
const app = new Vue({
data: {
target: "foo"
},
methods: {
onChange(target) {
this.target = target;
}
}
}).$mount("#app");
</script>
</body>
</html>
Der Debugging-Prozess ist wie folgt:
1 Klicken Sie auf "Müll sammeln" und "Heap-Schnappschuss erstellen" (Schnappschuss 1).
2 Klicken Sie 10 Mal auf die Routing-Schaltfläche links und dann auf "Müll sammeln" und "Heap-Snapshot erstellen" (Snapshot 2).
3 Klicken Sie 10 Mal auf die Routing-Schaltfläche links und dann auf "Müll sammeln" und "Heap-Snapshot erstellen" (Snapshot 3).
Der generierte "Schnappschuss" lautet wie folgt:
Schnappschuss 1:
Schnappschuss 2:
Schnappschuss 3:
Nach 100-maligem Klicken:
VueComponent wird nicht recycelt. Ist dies ein Fehler?
Warum passiert das, ist das ein Fehler?
Die Komponente wird beim Wechseln der Komponenten nicht gelöscht.
Ich werde mir das mal ansehen.
Alle Komponenten werden vom übergeordneten vnode-übergeordneten Element , beibehalten, wenn das übergeordnete Element gelöscht wird. Dann werden die Komponenten recycelt. Werden mehr graben
Ich habe auch ein Problem mit Speicherverlusten, siehe: https://github.com/bootstrap-vue/bootstrap-vue/issues/4214
Ich habe versucht, eine jsfiddle zu erstellen, bin mir aber nicht sicher, wie ich das Caching-Verhalten replizieren soll.
Hey, gibt es Neuigkeiten? Sind diese Updates bereits mit dem Hauptzweig zusammengeführt? Ich habe das gleiche Problem.
Ich würde wirklich gerne ein Update zu diesem Thema sehen - es gibt PR, aber es scheint tot zu sein?
Hilfreichster Kommentar
Ich würde wirklich gerne ein Update zu diesem Thema sehen - es gibt PR, aber es scheint tot zu sein?