Vue-动态组件
动态组件
所谓的动态组件就是在不同的组件之间进行动态切换。
Vue提供了一个特殊的元素<component>用来动态的挂载不同的组件 使用is 属性来选择要挂载的组件。
<component v-bind:is="mytemp"></component>
mytemp可以是已经注册的组件的名字,也可以是一个组件的选项对象、
1.当mytemp是注册组件时
<template>、
<div id="app">
<button @click="changeView('A')">切换到组件A</button>
<button @click="changeView('B')">切换到组件B</button>
<button @click="changeView('C')">切换到组件C</button>
<component :is="currentView"></component>
</div>
</template>
<script>
let vm = new Vue({
el: "#app",
data: {
currentView: 'comA'
},
components: {
comA: {
template: '<div>组件A</div>'
},
comB: {
template: '<div>组件B</div>'
},
comC: {
template: '<div>组件C</div>'
}
},
methods: {
changeView(component) {
this.currentView = 'com' + component;
}
}
});
</script>
2.当mytemp是组件对象时
<template>
<div id="app">
<component :is="currentView"></component>
</div>
</template>
<script>
let Home = {
template:'<div>这是一个组件</div>'
}
let vm = new Vue({
el: "#app",
data: {
currentView: Home
}
});
</script>
本文来自博客园,作者:前端小白银,转载请注明原文链接:https://www.cnblogs.com/forever-ljf/p/16687467.html

浙公网安备 33010602011771号