在vue中可遇到hook:xxx的用法
1.清除定时器
methods:{
fun1(){
const timer = setInterval(()=>{
//需要做的事情
console.log(11111);
},1000);
this.$once('hook:beforeDestroy',()=>{
clearInterval(timer);
timer = null;
})
}
}
清除定时器还可以在
beforeDestroy(){ clearInterval(this.timer);his.timer = null;}
如果用了路由也可以在
beforeRouteLeave(to,from,next){
if(window.timer1){
clearInterval(window.timer1);
}
}
2.hook:xxx的方式来监听第三方组件(或者是子组件)的生命周期函数
<CodeEditor @hook:mounted="onCodeEditorMounted" ref="code">
上面这样就可以在子组件执行mounted时,执行父组件中给子组件绑定的 @hook:xxx=‘xxx’ 的方法。
@hook: xxx可以是 updated、created、mounted、beforeDestroy…等生命周期方法。
希望能帮助到您,点个赞啦,我的老北鼻