vue學(xué)習(xí)筆記之動態(tài)組件和v-once指令簡單示例
本文實例講述了vue動態(tài)組件和v-once指令。分享給大家供大家參考,具體如下:
點擊按鈕時,自動切換兩個組件
<component :is="type"></component>,當(dāng)點擊按鈕之后,會自動清除原來的組件,顯示新的組件。
每一次切換,都需要銷毀+創(chuàng)建
但是這樣消耗有點大,所以我們在子組件中引用了v-once指令,這樣可以將顯示在頁面中的組件存到內(nèi)存中,不會完全銷毀。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>動態(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>
運行結(jié)果:


感興趣的朋友可以使用在線HTML/CSS/JavaScript代碼運行工具:http://tools.jb51.net/code/HtmlJsRun測試上述代碼運行效果。
希望本文所述對大家vue.js程序設(shè)計有所幫助。
相關(guān)文章
詳解Python?NumPy如何使用argsort方法進(jìn)行排序
NumPy提供了各種功能強(qiáng)大的數(shù)組操作方法,其中之一就是argsort方法,本文將詳細(xì)介紹argsort方法的使用,以及如何在實際項目中充分利用它進(jìn)行排序操作,希望對大家有所幫助2024-03-03
利用python和百度地圖API實現(xiàn)數(shù)據(jù)地圖標(biāo)注的方法
這篇文章主要介紹了利用python和百度地圖API實現(xiàn)數(shù)據(jù)地圖標(biāo)注的方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-05-05
Python 實現(xiàn)引用其他.py文件中的類和類的方法
下面小編就為大家分享一篇Python 實現(xiàn)引用其他.py文件中的類和類的方法,具有的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-04-04
詳解NumPy中的線性關(guān)系與數(shù)據(jù)修剪壓縮
本文將通過股票均線計算的案例來為大家講解一下NumPy中的線性關(guān)系以及數(shù)據(jù)修剪壓縮的實現(xiàn),文中的示例代碼講解詳細(xì),感興趣的可以了解一下2022-05-05

