国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

Vue中 key keep-alive的實現(xiàn)原理

2024-05-06 15:29:51
字體:
供稿:網(wǎng)友

vue2.0提供了一個keep-alive組件用來緩存組件,避免多次加載相應(yīng)的組件,減少性能消耗

keep-aliv是Vue.js的一個內(nèi)置組件。它能夠不活動的組件實例保存在內(nèi)存中,而不是直接將其銷毀,它是一個抽象組件,不會被渲染到真實DOM中,也不會出現(xiàn)在父組件鏈中。

它有兩個生命周期:

    activated: keep-alive組件激活時調(diào)用 deactivated: keep-alive組件停用時調(diào)用

它提供了include與exclude兩個屬性,允許組件有條件地進行緩存。

keep-alive key

<!DOCTYPE html><html><head>  <title></title>  <script type="text/javascript" src="./vue.js"></script></head><body>  <div id="app">    <keep-alive>      <child-component key="1" v-if="seen" name="1"></child-component>      <child-component key="2" v-if="!seen" name="2"></child-component>    </keep-alive>    <button @click="toggle">toggle</button>  </div>  <script type="text/javascript">    Vue.component('child-component', {      template: `<input type="text" placeholder="enter">`,      data() {        return {}      },      props: ["name"],      mounted() {        console.log(`${this.name} mounted`)      }    })    const vm = new Vue({      el: "#app",      data: {        seen: true      },      methods: {        toggle() {          this.seen = !this.seen;        }      }    })  </script></body></html>

key是標識元素不再被復(fù)用,注意key是Vue中的一個保留的屬性,不能作為prop傳遞給子組件,否則會在控制臺看到Vue的報錯

但是keep-alive標識不重復(fù)創(chuàng)建組件實例,也就是只會觸發(fā)一次created mounted事件,

利用兩者可以對組件的復(fù)用進行比較精細的管理

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習有所幫助,也希望大家多多支持錯新站長站。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 始兴县| 肥乡县| 无棣县| 瓦房店市| 迭部县| 凤庆县| 宁德市| 高邑县| 北川| 汪清县| 庐江县| 清远市| 忻城县| 丹凤县| 兰西县| 定兴县| 城固县| 简阳市| 固镇县| 盐津县| 诸暨市| 安徽省| 广汉市| 同仁县| 琼中| 北宁市| 长顺县| 玛纳斯县| 正镶白旗| 阿拉善右旗| 孝昌县| 西林县| 海口市| 沙洋县| 门源| 仪陇县| 灯塔市| 安溪县| 隆子县| 清苑县| 新竹县|