日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

緩存路由關聯的兩個生命周期activated和deactivated

作者:頑強的小豆子 更新時間: 2022-07-10 編程語言
技術邏輯:
當keep-alive中的組件被點擊時,activated生命周期函數被激活執行一次,切換到其它組件時,deactivated被激活。
如果沒有keep-alive包裹,沒有辦法觸發activated生命周期函數。
業務邏輯:
下面代碼業務邏輯是,點擊News觸發activated生命周期函數,執行定時器改變“歡迎學習Vue”的透明度。
Home.vue組件
<div>
      <ul class="nav nav-tabs">
        <li>
          <router-link class="list-group-item" active-class="active" to="/home/news">News</router-link>
        </li>
        <li>
          <router-link class="list-group-item" active-class="active" to="/home/message">Message</router-link>
        </li>
      </ul>
      <keep-alive include="News">
        <router-view></router-view>
      </keep-alive>
    </div>

//綁定樣式
news.vue組件
<template>
  <ul>
    <li :style="{opacity}">歡迎學習Vue</li>
    <li>news001 <input type="text"></li>
    <li>news003 <input type="text"></li>
  </ul>
</template>


<script>
  export default {
    name:'News',
    data() {
      return {
        opacity:1
      }
    },
    activated() {
      console.log('News組件被激活了')
      this.timer = setInterval(() => {
        console.log('@')
        this.opacity -= 0.01
        if(this.opacity <= 0) this.opacity = 1
      },16)
    },
    deactivated() {
      console.log('News組件失活了')
      clearInterval(this.timer)
    },
  }
</script>

?

原文鏈接:https://blog.csdn.net/qiuyushuofeng/article/details/124831499

欄目分類
最近更新