vue入门之vue生命周期

生命周期:又称成名周期回调函数,生命周期钩子

 052_尚硅谷Vue技术_生命周期_总结_哔哩哔哩_bilibili

案例:字体渐变,要求使用vue实现且不改变dom的原有结构

 方式一:使用插值+函数方法

<div>
  <h1 :style='{opacity}'>hello 你好</h1>
  {{changeOptity()}}   ###函数无返回值,{{undefine}}不影响结构
</div>
  
const vm = new Vue({
  data:{
     opacity:1
   },
methods:{
   changeOptity(){
    setInterval(()=>{
      this.opacity-= 0.01
      if(this.opacity<0){
          opacity=1
          }
       })
     }
   }
})

注意:该方法虽然能够功能实现,但存在严重缺陷,optity变化导致模板不停地被解析,每次都会创建一个定时器,会导致内存溢出

方式二:使用vue中mounted()函数实现

<div>
  <h1 :style='{opacity}'>hello 你好</h1>
</div>
  
const vm = new Vue({
  data:{
     opacity:1
   },

mounted(){
   setInterval(()=>{
      this.opacity-= 0.01
      if(this.opacity<0){
          opacity=1
          }
       })
     }
   }
})

注意:mounted是在模板解析完成后且真实dom元素插入页面时调用,且定时器只调用一次

而mounted()是vue生命周期中的一个阶段

vue中对象mounted()函数

位置:和data,el,methods对象平级

执行时机:在vue模板解析完成并将真实的dom元素放入页面时被调用

vue生命周期中四对重要的钩子

回调函数                                                       完成的任务

beforeCreated()    

created();

beforeMounted();

mounted();

beforeUpdated();

updated();

beforeDestory();

destory();

常用的生命周期钩子

mounted:启动定时器,发布订阅消息,发送ajax请求,绑定自定义事件

beforeDestroy() 清除定时器,取消订阅发布消息,解绑自定义事件

销毁vue实例注意:

在beforeDestory阶段不要进行数据的修改,因为即使操作也不会触发更新流程

销毁后自定义事件会失效,但是原生的dom事件依然有效

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值