国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Vue動(dòng)態(tài)組件和異步組件

nanchen2251 / 1303人閱讀

摘要:動(dòng)態(tài)組件如果我們打算在一個(gè)地方根據(jù)不同的狀態(tài)引用不同的組件的話,比如頁(yè),那么給我們提供動(dòng)態(tài)組件。實(shí)現(xiàn)動(dòng)態(tài)組件的加載。的值可以是一個(gè)已經(jīng)注冊(cè)的組件的名字或者一個(gè)組件的選對(duì)象。

動(dòng)態(tài)組件

如果我們打算在一個(gè)地方根據(jù)不同的狀態(tài)引用不同的組件的話,比如tab頁(yè),那么Vue給我們提供動(dòng)態(tài)組件。

基本使用

Parent.vue



運(yùn)行結(jié)果如下圖:

當(dāng)我們點(diǎn)擊不同的按鈕時(shí),下面會(huì)切換不同的組件。實(shí)現(xiàn)動(dòng)態(tài)組件的加載。is 的值可以是一個(gè)已經(jīng)注冊(cè)的組件的名字或者一個(gè)組件的選對(duì)象。當(dāng)我們點(diǎn)擊按鈕時(shí),這個(gè)按鈕的 disabledtrue 然后我們將給這個(gè)按鈕一個(gè)active 的css類,同時(shí)改變 currentCom 的值

keep-alive:動(dòng)態(tài)組件的緩存

如果我們需要頻繁的切換頁(yè)面,每次都是在組件的創(chuàng)建和銷毀的狀態(tài)間切換,這無(wú)疑增大了性能的開銷。那么我們要怎么優(yōu)化呢?
Vue提供了動(dòng)態(tài)組件的 緩存keep-alive 會(huì)在切換組件的時(shí)候緩存當(dāng)前組件的狀態(tài),等到再次進(jìn)入這個(gè)組件,不需要重新創(chuàng)建組件,只需要從前面的緩存中讀取并渲染。

Parent.vue(其余地方代碼和上面一樣)


Childs1.vue


Childs2.vue


運(yùn)行結(jié)果如下圖:

"

對(duì)比:如果我們將去掉,運(yùn)行結(jié)果如下圖:


前一組圖片在切換組件的時(shí)候,title從1加到3,然后等下次再切換回來(lái)的時(shí)候,title還是停留在3,從控制臺(tái)可以看出,Childs1.vue這個(gè)組件的mounted的鉤子函數(shù)只有一次。后一組圖片,title一開始加到3,下一次進(jìn)入這個(gè)組件的時(shí)候title又從1開始,控制臺(tái)圖片也顯示這個(gè)組件經(jīng)歷個(gè)了多次鉤子函數(shù),說(shuō)明組件是銷毀重建的。

tips:因?yàn)榫彺娴慕M件只需要建立一次,所以如果我們要在每次進(jìn)入組件的鉤子函數(shù)里面做相應(yīng)的操作的時(shí)候,會(huì)出現(xiàn)問(wèn)題,所以請(qǐng)明確我們使用的場(chǎng)景,避免出現(xiàn)bug

異步組件

異步組件存在的意義在于加載一個(gè)體量很大的頁(yè)面時(shí),如果我們不設(shè)置加載的優(yōu)先級(jí)的話,那么可能頁(yè)面在加載視頻等信息的時(shí)候會(huì)非常占用時(shí)間,然后主要信息就會(huì)阻塞在后面在加載。這對(duì)用戶來(lái)說(shuō)無(wú)疑不是一個(gè)很差的體驗(yàn)。但是如果我們?cè)O(shè)置加載的順序,那么我們可以優(yōu)先那些最重要的信息優(yōu)先顯示,優(yōu)化了整個(gè)項(xiàng)目。一般來(lái)說(shuō)我們是將加載組件和 路由vue-router)配合在一起使用,所以這里我就不細(xì)講了,具體學(xué)習(xí)可以參考官網(wǎng)來(lái)進(jìn)行學(xué)習(xí)。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/101408.html

相關(guān)文章

  • Vue動(dòng)態(tài)加載異步組件

    摘要:目前采用動(dòng)態(tài)加載異步組件的方式來(lái)實(shí)現(xiàn)小組件之間的通信。內(nèi)容使用過(guò)的都應(yīng)該知道的動(dòng)態(tài)加載組件通過(guò)來(lái)綁定需要加載的組件。總結(jié)本篇主要借助的動(dòng)態(tài)組件和打包單文件來(lái)實(shí)現(xiàn)動(dòng)態(tài)加載異步組件,通過(guò)的事件總線掛載在上來(lái)實(shí)現(xiàn)平級(jí)組件之間的通信。 背景: 目前我們項(xiàng)目都是按組件劃分的,然后各個(gè)組件之間封裝成產(chǎn)品。目前都是采用iframe直接嵌套頁(yè)面。項(xiàng)目中我們還是會(huì)碰到一些通用的組件跟業(yè)務(wù)之間有通信,這種...

    awesome23 評(píng)論0 收藏0
  • VueJS 如何編譯服務(wù)器端遠(yuǎn)程模板【異步組件+簡(jiǎn)單方法】

    摘要:,常規(guī)組件,卒。小結(jié)總之呢,上面分析了在中編譯遠(yuǎn)程模板的可能性,最后得出了兩種方法異步組件,應(yīng)該是官方的推薦方法動(dòng)態(tài)組件,變通之法,論壇上發(fā)現(xiàn)的思路當(dāng)然如果有其他方法歡迎交流,本文如果有不嚴(yán)謹(jǐn)不正確的地方也歡迎指出本文發(fā)自我的,原文鏈接我的 說(shuō)明 有些時(shí)候你可能需要從后臺(tái)獲取模板,并在前臺(tái)在自己編譯,這在用 AngularJS 1.x 的時(shí)候似乎很常見,可以直接用 ng-include...

    褰辯話 評(píng)論0 收藏0
  • VueJS 如何編譯服務(wù)器端遠(yuǎn)程模板【異步組件+簡(jiǎn)單方法】

    摘要:,常規(guī)組件,卒。小結(jié)總之呢,上面分析了在中編譯遠(yuǎn)程模板的可能性,最后得出了兩種方法異步組件,應(yīng)該是官方的推薦方法動(dòng)態(tài)組件,變通之法,論壇上發(fā)現(xiàn)的思路當(dāng)然如果有其他方法歡迎交流,本文如果有不嚴(yán)謹(jǐn)不正確的地方也歡迎指出本文發(fā)自我的,原文鏈接我的 說(shuō)明 有些時(shí)候你可能需要從后臺(tái)獲取模板,并在前臺(tái)在自己編譯,這在用 AngularJS 1.x 的時(shí)候似乎很常見,可以直接用 ng-include...

    2i18ns 評(píng)論0 收藏0
  • 利用VUE異步組件動(dòng)態(tài)加載組件,實(shí)現(xiàn)自定義組件順序、動(dòng)態(tài)綁定傳入子組件的props、動(dòng)態(tài)綁定監(jiān)聽子

    摘要:發(fā)現(xiàn)了動(dòng)態(tài)組件異步組件這個(gè)東西簡(jiǎn)直是救命啊動(dòng)態(tài)組件異步組件思路分析有了動(dòng)態(tài)組件這個(gè)東西之后,我們就可以根據(jù)綁定不同的值來(lái)渲染不同的組件。每個(gè)組件要傳給子組件的值和接收子組件的事件也可以動(dòng)態(tài)的綁定上去。 推動(dòng)我實(shí)現(xiàn)這個(gè)功能的業(yè)務(wù)背景 最近接到一個(gè)讓我很頭疼的需求:產(chǎn)品要求我們系統(tǒng)頁(yè)面上所有的模塊都支持順序的變動(dòng)。比如有 模塊A、B、C、D,可以無(wú)序的展示在頁(yè)面上,我剛聽到這個(gè)需求的時(shí)候我...

    marser 評(píng)論0 收藏0
  • Vue.js的動(dòng)態(tài)組件模板

    摘要:實(shí)例組件模板某些網(wǎng)頁(yè)中用于多個(gè)位置,例如通知,注釋和附件。動(dòng)態(tài)組件模板另一種方法是使用某種加載器來(lái)加載您需要的模板。那么這里發(fā)生了什么默認(rèn)情況下,支持動(dòng)態(tài)組件。超級(jí)方便安裝我們的組件后,我們嘗試加載模板。 組件并不總是具有相同的結(jié)構(gòu)。有時(shí)需要管理許多不同的狀態(tài)。異步執(zhí)行此操作會(huì)很有幫助。 實(shí)例: 組件模板某些網(wǎng)頁(yè)中用于多個(gè)位置,例如通知,注釋和附件。讓我們來(lái)一起看一下評(píng)論,看一下我表達(dá)...

    Richard_Gao 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<