vue學(xué)習(xí)筆記之動(dòng)態(tài)組件和v-once指令簡(jiǎn)單示例
本文實(shí)例講述了vue動(dòng)態(tài)組件和v-once指令。分享給大家供大家參考,具體如下:
點(diǎn)擊按鈕時(shí),自動(dòng)切換兩個(gè)組件
<component :is='type'></component>,當(dāng)點(diǎn)擊按鈕之后,會(huì)自動(dòng)清除原來(lái)的組件,顯示新的組件。
每一次切換,都需要銷(xiāo)毀+創(chuàng)建
但是這樣消耗有點(diǎn)大,所以我們?cè)谧咏M件中引用了v-once指令,這樣可以將顯示在頁(yè)面中的組件存到內(nèi)存中,不會(huì)完全銷(xiāo)毀。
<!DOCTYPE html><html lang='en'><head> <meta charset='UTF-8'> <title>動(dòng)態(tài)組件和v-once指令</title> <script src='https://cdn.jsdelivr.net/npm/vue/dist/vue.js'></script></head><body><div id='app'> <component :is='type'></component><!-- <child-one v-if='type === ’child-one’'></child-one>--><!-- <child-two v-if='type === ’child-two’'></child-two>--> <button @click='handleBtnClick'>change</button></div></body></html><script> Vue.component(’child-one’, { template: ’<div v-once>child-one</div>’ }) Vue.component(’child-two’, { template: ’<div v-once>child-two</div>’ }) var vm = new Vue({ el: ’#app’, data: { type: ’child-one’ }, methods: { handleBtnClick: function () {this.type = (this.type === ’child-one’ ? ’child-two’ : ’child-one’); } } })</script>
運(yùn)行結(jié)果:
感興趣的朋友可以使用在線(xiàn)HTML/CSS/JavaScript代碼運(yùn)行工具:http://tools.jb51.net/code/HtmlJsRun測(cè)試上述代碼運(yùn)行效果。
希望本文所述對(duì)大家vue.js程序設(shè)計(jì)有所幫助。
相關(guān)文章:
1. 存儲(chǔ)于xml中需要的HTML轉(zhuǎn)義代碼2. python 浮點(diǎn)數(shù)四舍五入需要注意的地方3. Java GZip 基于內(nèi)存實(shí)現(xiàn)壓縮和解壓的方法4. python開(kāi)發(fā)一款翻譯工具5. 利用CSS制作3D動(dòng)畫(huà)6. jsp+servlet簡(jiǎn)單實(shí)現(xiàn)上傳文件功能(保存目錄改進(jìn))7. Springboot 全局日期格式化處理的實(shí)現(xiàn)8. 完美解決vue 中多個(gè)echarts圖表自適應(yīng)的問(wèn)題9. SpringBoot+TestNG單元測(cè)試的實(shí)現(xiàn)10. PHP實(shí)現(xiàn)簡(jiǎn)單線(xiàn)性回歸之?dāng)?shù)學(xué)庫(kù)的重要性
