1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > vue实现页面内组件切换

vue实现页面内组件切换

时间:2021-08-10 16:36:27

相关推荐

vue实现页面内组件切换

之前多次尝试<router-view/>都跳转了页面,后来发现“:is”更简单

is简介:官网:/v2/api/#is

1.写一个切换组件的方法,传入组件名

2.引入要切换的组件,并包含进当前组件componens内

3. :is引入组件

导航菜单直接在element-ui上拷的,用法可以参考官网/#/zh-CN/component/installation

完整代码:(就当看者有vue基础)

<template><el-container>//element-ui页面布局<el-header>//菜单导航<el-menu :default-active="activeIndex" class="el-menu-demo" mode="horizontal" ><el-menu-item index="1">处理中心</el-menu-item><el-submenu index="2"><template slot="title">我的工作台</template><el-menu-item index="2-1" @click="tabChange('upload')" >普通提交</el-menu-item><el-menu-item index="2-2" @click="tabChange('Login')">登录</el-menu-item><el-menu-item index="2-3">选项3</el-menu-item><el-submenu index="2-4"><template slot="title">选项4</template><el-menu-item index="2-4-1">选项1</el-menu-item><el-menu-item index="2-4-2">选项2</el-menu-item><el-menu-item index="2-4-3">选项3</el-menu-item></el-submenu></el-submenu><el-menu-item index="3" disabled>消息中心</el-menu-item><el-menu-item index="4"><a href="https://www.ele.me" target="_blank">订单管理</a></el-menu-item></el-menu></el-header><el-main><div :is="currentView"></div></el-main></el-container></template><script>//引入需要切换的组件import Upload from '@/components/views/Upload.vue'import Login from '@/components/login.vue'export default {name:'Header',components:{Upload,Login},data(){return{activeIndex: '1',currentView:''}},methods:{tabChange(tabItem) {this.currentView = tabItem;}}}</script>

效果:上面是菜单,下面是组件内容。

有一个问题就是子组件完成工作后要跳转其他页面,还要让他显示在这里,也当一个子组件,就要调用包含菜单栏的父组件的切换组件方法,有些麻烦。所以最好就是把菜单组件抽取处理,直接在app.vue里面引用,让其他页面都直接引用菜单栏,就不会有太多父子关系。

我是后端,前端只是不够扎实,有问题可以直接指出。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。