【发布时间】:2018-08-31 15:29:54
【问题描述】:
我在 vue-router 中发现了一个让我很受触动的问题。 当我在我的路线之间切换时,总是会创建一个新的组件实例。此外,旧实例不会被删除,而是在后台运行!
我希望当我打开一个路由时,旧的组件会被销毁或停止运行。
是否有解决该问题的解决方法?
这是一个小提琴:https://jsfiddle.net/4xfa2f19/5885/
let foo = {
template: '<div>Foo</div>',
mounted() {
console.log('Mount Foo with uid: ' + this._uid);
setInterval(() => {console.log('Instance ' + this._uid + ' of Foo is running')}, 500);
}
};
let bar = {
template: '<div>Bar</div>',
mounted() {
console.log('Mount Bar with uid: ' + this._uid);
setInterval(() => {console.log('Instance ' + this._uid + ' of Bar is running')}, 500);
}
};
const router = new VueRouter({
routes: [
{ path: '/user/foo', component: foo },
{ path: '/user/bar', component: bar }
]
});
const app = new Vue({ router }).$mount('#app');
【问题讨论】:
标签: javascript vue.js routing vue-router