作用
路由组件所独有的2个生命周期
- activated 生命周期函数用于在路由组件每次由消失到出现时所调用的函数
- deactivated 生命周期函数用于路由组件每次由出现到消失时(无论是否缓存)所调用的函数
案例
定义一个NewsVue组件,要求:当该组件出现时,部分字体的透明度周期性变化,当该组件被切换走时,需要被缓存,但需要注销其定时器
- 在其父组件中,需要将NewsVue组件设置为缓存
html
<keep-alive include="NewsVue">
<router-view></router-view>
</keep-alive>
- 在NewsVue模板中设置对应的字体透明度并绑定,继而编写相关的生命周期函数
html
<template>
<ul>
<li :style="{opacity}">欢迎学习Vue</li>
<li>news001 <input type="text"/> </li>
<li>news002 <input type="text"/> </li>
<li>news003 <input type="text"/> </li>
</ul>
</template>
javascript
<script>
export default {
name: "NewsVue",
data(){
return {
opacity:1,
}
},
activated() {
//console.log('News组件被激活了')
this.timer =setInterval(()=>{
this.opacity-=0.01;
if(this.opacity <= 0){
this.opacity = 1;
}
},16)
},
deactivated() {
//console.log('News组件失活了')
clearInterval(this.timer);
}
}
</script>