Closed
Description
Version
2.6.10
Reproduction
<!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>Document</title>
</head>
<body>
<script src="https://unpkg.com/vue"></script>
<div id="app">
<div id="nav">
<button @click="goHome">go to Home</button>
<button @click="goAbout">go to About</button>
</div>
<component :is="current"></component>
</div>
<script>
const Home = {
name: 'Home',
template: `
<div>
<h2>Home</h2>
</div>
`,
}
const About = {
template: `
<div class="about">
<h1>This is an about page</h1>
<input type="text" v-model="input">
</div>
`,
name: 'about',
data: () => ({
input: '',
}),
}
const vm = new Vue({
el: '#app',
data() {
return {
current: 'Home',
}
},
methods: {
goHome() {
this.current = 'Home'
},
goAbout() {
this.current = 'About'
},
},
components: { Home, About },
})
</script>
</body>
</html>
Steps to reproduce
- go to the about page
- type in the input
- leave the page
- collect garbage and take a snapshot with devtools
What is expected?
VueComponent count should be stable
What is actually happening?
VueComponent count keeps increasing.
seems to be related to typing in the input