1.装饰器的写法
<template>
<div class="home">
<ElButton v-for="item in info" :key="item.name" @click="form(item.value)">
{
{item.name}}
</ElButton>
<Component :is="componentShow" />
</div>
</template>
<script>
import { Component, Vue } from "vue-property-decorator";
import FormDemo from "../components/formDemo"; // 引入组件1
import Cartogram from "../components/cartogram"; //引入组件2
@Component({
components: {
FormDemo,
Cartogram,
},
})
export default class TheHome extends Vue {
componentShow = null;
info = [
{ name: "表单", value: FormDemo },
{ name: "统计", value: Cartogram },
];
// 切换的方法
form(val) {
this.componentShow = val; //把组件名赋值给公用组件
}
}
</script>
2.正常写法