我有一个简单的问题.我只想在路由改变时取消子组件.这是一个样本.有一个主组件是父组件.它有一个子组件.我只想在子组件中的路由发生变化时停止间隔功能
import Home from "./components/Home.vue";
import Another from "./components/Another.vue";
const routes = [
{ path: '', component: Home },
{ path: '/another', component: Another }
];
const router = new VueRouter({
routes
});
const app = new Vue({
router
}).$mount('#app');
这是主组件.家vue
<template>
<sub-component></sub-component>
</template>
<script type="text/babel">
import SubComponent from "./components/Subcomponent.vue";
export default {
components:{
'sub-component':SubComponent
}
}
</script>
这是子组件.子组件.vue
<template>
<div> Sub component will run a interval </div>
</template>
<script type="text/babel">
import SubComponent from "./components/Subcomponent.vue";
export default {
components:{
'sub-component':SubComponent
},
mounted:function(){
setInterval(function(){
console.log("I should cancel when route changed");
},1000)
}
}
</script>
我try 了BeforeRouteleve方法,但它只在家里停止.vue方法.