【Vue】生命周期函数在什么时候会被调用

生命周期函数:就是 Vue实例在某一个时间点自动执行的函数。

1、activated函数

被 keep-alive 缓存的组件激活时调用。该钩子在服务器端渲染期间不被调用。

应用实例:提高效率,避免接口的重复调用,可以将组件包裹在<keep-alive>内,包裹起的内容会被缓存起来,不会再重新请求接口。

  <div id="app">
    <keep-alive>
      <router-view/>
    </keep-alive>
  </div>

但是,如果想要改变被缓存数据时,怎么办呢,这就用到了 activated函数。

  activated () {
    if (this.lastCity !== this.city) {
      this.lastCity = this.city
      this.getdata() //重新请求接口
    }
  },

 2、beforeUpdate/updated函数

beforeUpdate函数会在数据更新时调用,发生在虚拟 DOM 打补丁之前。这里适合在更新之前访问现有的 DOM,比如手动移除已添加的事件监听器。

该钩子在服务器端渲染期间不被调用,因为只有初次渲染会在服务端进行。

也就是说:Vue实例 $data 改变时,才会执行

updated函数由于数据更改导致的虚拟 DOM 重新渲染和打补丁,在这之后会调用该钩子。

注意 updated 不会保证所有的子组件也都一起被重绘。如果你希望等到整个视图都重绘完毕,可以在 updated 里使用 vm.$nextTick。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值