動態元件與v-on

依米_發表於2018-05-18
實現點選按鈕切換內容
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script type="text/javascript" src="js/vue.js" ></script>
</head>
<body>
<div id="root">
<child-one v-if=" type ==='child-one'"></child-one>
<child-two v-if=" type ==='child-two'"></child-two>
<button @click="handleBtn">change</button>
</div>
<script>
Vue.component('child-one',{
template:'<div>child-one</div>'
})
Vue.component('child-two',{
template:'<div>child-two</div>'
})
var vm = new Vue({
el:"#root",
data:{
type:'child-one'
},
methods:{
handleBtn:function  () {
this.type=(this.type==='child-one'?'child-two':'child-one')
}
}

})
</script>

</body>
</html>




<template :is="type"></template>//template是動態元件,會根據is裡面資料的動態變化,來自動載入不同的元件




//v-once可以提高效能,在切換的過程中,把不顯示的內容放入快取
Vue.component('child-one',{
template:'<div v-once>child-one</div>'
})
Vue.component('child-two',{
template:'<div v-once>child-two</div>'
})

相關文章