1.vue 可以通过 component 元素加一个特殊的 is 来实现组件的动态切换
html:
<ul class='tabs'>
<li
v-for='item in tabList'
:key='item.name'
:class='{actived: currentTab===item.value}'
@click='changeTab(item)'
>
{{ item.name }}
</li>
</ul>
<component :is='currentTab'></component>
js:
components: {
DepartmentList, PersonList, TrainList,
},
data () {
return {
currentTab: 'department-list', // 默认选中部门管理
tabList: [
{ name: '部门管理', value: 'department-list' },
{ name: '人员管理', value: 'person-list' },
{ name: '培训管理', value: 'train-list' },
],
}
},
methods: {
// 切换选中状态
changeTab (row) {
this.currentTab = row.value
},
},
2.动态遍历组件
<component
v-for='(item, index) in contentList'
class='detail-box'
:key='index'
:is='item.name'
>
<div class='box-angles'></div>
<p class='box-title'>{{ item.title }}</p>
</component>
contentList: [
{ name: 'rank-list', title: '演练风云榜' },
{ name: 'drill-info', title: '演练信息' },
{ name: 'notice', title: '演练实时消息' },
{ name: 'result', title: '演练成果' },
],