Vue切换Tab动态渲染组件的操作

使用<component :is="组件名"></component>

结合Element-UI的导航菜单 :

UI组件

el-menu-item里的index写对应的组件名

点击事件@select="handleSelect"

<el-menu :default-active="activeIndex" class="el-menu-demo" mode="horizontal" @select="handleSelect">

<el-menu-item index="Home">首页</el-menu-item>

<el-menu-item index="About">关于我们</el-menu-item>

</el-menu>

<component :is="activeIndex"></component>

在点击事件里动态设置组件名

handleSelect(index) {

this.activeIndex = index

}

完整代码

<template>

<div id="app">

<!-- 导航栏 -->

<el-row class="home_nav" type="flex" justify="flex-start" align="middle">

<el-col :span="2" :offset="4">

<div>LOGO</div>

</el-col>

<el-col :span="12">

<el-menu :default-active="activeIndex" class="el-menu-demo" mode="horizontal" @select="handleSelect">

<el-menu-item index="Home">首页</el-menu-item>

<el-menu-item index="About">关于我们</el-menu-item>

</el-menu>

</el-col>

</el-row>

<component :is="activeIndex"></component>

</div>

</template>

<script>

import Home from './components/Home.vue'

import About from './components/About.vue'

export default {

name: 'app',

components: {

Home,

About

},

data(){

return {

activeIndex: "Home"

}

},

methods: {

handleSelect(index) {

this.activeIndex = index

}

}

}

</script>

<style>

</style>

补充知识:vue 动态组件(tabs切换)keep-alive:主要用于保留组件状态或避免重新渲染

通过keep-alive 保留数据值 填写数据时切换到其他页面,后返回当前页数据保留 ,主要用于保留组件状态或避免重新渲染

<!--动态组件-component使用-->

<div class="app">

<ul>

<li @click="currView='home'">首页</li>

<li @click="currView='abount'">关于我们</li>

</ul>

<!--通过keep-alive 保留数据值 填写数据时切换到其他页面,后返回当前页数据保留-->

<keep-alive>

<component :is="currView"></component>

</keep-alive>

</div>

<script type="text/x-Template" id="homeTemp">

<h2>首页数据</h2>

</script>

<script type="text/x-Template" id="abountTemp">

<h2>关于我们数据<input type="text"/></h2>

</script>

<script type="text/javascript">

var vm=new Vue({

el:'.app',

data:{

currView:"home"

},

components:{

"home":{

template:"#homeTemp"

},

"abount":{

template:"#abountTemp"

}

}

});

</script>

以上这篇Vue切换Tab动态渲染组件的操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

以上是 Vue切换Tab动态渲染组件的操作 的全部内容, 来源链接: utcz.com/p/218012.html

回到顶部