大家好,欢迎来到IT知识分享网。
导入eleui
安装ele
npm install element-ui -S
main.js中引入ele
import Element from "element-ui";
import "element-ui/lib/theme-chalk/index.css";
Vue.use(Element);
常用标签解释
通过router动态加载组件
注册路由
const routes = [
{
path: '/',
name: '导航1',
component: App,
children:[
{
path: '/PageOne',
name: '页面1',
component: PageOne
},
{
path: '/PageTwo',
name: '页面2',
component: PageTwo
},
]
},
{
path: '/navigation',
name: '导航2',
component: App,
children:[
{
path: '/PageThree',
name: '页面3',
component: PageThree
},
{
path: '/PageFour',
name: '页面4',
component: PageFour
},
]
},
]
前端代码
<el-aside width="200px" style="background-color: rgb(238, 241, 246)">
<el-menu>
<el-submenu v-for="(item,index) in $router.options.routes" :index="index+''">
<template solt="title"><i class="el-icon-setting"></i>{{item.name}}</template>
<el-menu-item v-for="item2 in item.children">{{item2.name}}</el-menu-item>
</el-submenu>
</el-menu>
</el-aside>
设置动态路由导航
上面做完后,会发现出现套娃
解决方法:
不能直接在App.vue上写代码
App.vue代码改成如下:
<template>
<div id="app">
<router-view></router-view>
</div>
</template>
<style>
.el-header {
background-color: #B3C0D1;
color: #333;
line-height: 60px;
}
.el-aside {
color: #333;
}
</style>
<script>
export default {
data() {
const item = {
date: '2016-05-02',
name: '王小虎',
address: '上海市普陀区金沙江路 1518 弄'
};
return {
tableData: Array(20).fill(item)
}
}
};
</script>
核心代码抽成一个组件,同时也要使用router-view
标签 去渲染子标签
将组件注册后即可解决问题
事件绑定
实现点击页面即可切换页面操作
el-menu
标签添加router属性
<el-menu router="router">
绑定el-menu-item
的index值,该值就是跳转路径
<el-menu-item v-for="item2 in item.children" :index="item2.path">{{item2.name}}</el-menu-item>
完整代码
<template>
<el-container style="height: 500px; border: 1px solid #eee">
<el-aside width="200px" style="background-color: rgb(238, 241, 246)">
<el-menu router="router">
<el-submenu v-for="(item,index) in $router.options.routes" :index="index+''">
<template solt="title"><i class="el-icon-setting"></i>{{item.name}}</template>
<el-menu-item v-for="item2 in item.children" :index="item2.path">{{item2.name}}</el-menu-item>
</el-submenu>
</el-menu>
</el-aside>
<el-container>
<el-header style="text-align: right; font-size: 12px">
<el-dropdown>
<i class="el-icon-setting" style="margin-right: 15px"></i>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item>查看</el-dropdown-item>
<el-dropdown-item>新增</el-dropdown-item>
<el-dropdown-item>删除</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
<span>王小虎</span>
</el-header>
<el-main>
<router-view></router-view>
</el-main>
</el-container>
</el-container>
</template>
<script>
export default {
name: "index"
}
</script>
<style scoped>
</style>
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/27890.html