打开项目
引入
在Element官网复制粘贴到项目中
导航一
分组一
选项1
选项2
选项3
选项4
选项4-1
导航二
分组一
选项1
选项2
选项3
选项4
选项4-1
导航三
分组一
选项1
选项2
选项3
选项4
选项4-1
查看
新增
删除
王小虎
Vue 集成 Element UI
Element UI 后台管理系统主要的标签:
el-container:构建整个⻚⾯框架。
el-aside:构建左侧菜单。
el-menu:左侧菜单内容,常⽤属性:
1:default-openeds:默认展开的菜单,通过菜单的 index 值来关联。
2:default-active:默认选中的菜单,通过菜单的 index 值来关联。
el-submenu:可展开的菜单,常⽤属性:
index:菜单的下标,⽂本类型,不能是数值类型。
template:对应 el-submenu 的菜单名。
i:设置菜单图标,通过 class 属性实则。
el-icon-messae
el-icon-menu
el-icon-setting
el-menu-item:菜单的⼦节点,不可再展开,常⽤属性:
index:菜单的下标,⽂本类型,不能是数值类型。
导航一
分组一
选项1
选项2
选项3
选项4
选项4-1
如果菜单还需要下级菜单
导航一
选项1
选项2
选项3
选项4
选项4-1
选项4-2
Vue router 来动态构建左侧菜单
导航1
1.⻚⾯1
2.⻚⾯2
导航2
1.⻚⾯3
2.⻚⾯4
在View首先创建页面
然后在router文件夹下的index.js配置路由
import Vue from 'vue'
import VueRouter from 'vue-router'
import PageOne from "../views/PageOne"
import PageTwo from "../views/PageTwo"
import PageThree from "../views/PageThree"
import PageFour from "../views/PageFour"
import App from "../App";
Vue.use(VueRouter)
const routes = [
{
path: '/',
name: '导航1',
component: App,
},
{
path:'/pageOne',
name:'页面1',
component:PageOne
},
{
path:'/pageTwo',
name:'页面2',
component:PageTwo
},
{
path:'/pageThree',
name:'页面3',
component:PageThree
},
{
path:'/pageFour',
name:'页面4',
component:PageFour
}
]
测试http://localhost:8080/pageOne
不是想要的结果怎么办?
原因因为中间黄色部分的窗口没有开所以需要开窗口。
怎么开窗口?
在App.vue主页面中加
代码如下
如何讲页面放到我们想要放的位置?
代码如下
菜单动态读取Router中的数据
router下的index.js
const routes = [
{
path: '/',
name: '导航1',
component: App,
child:[
{
path:'/pageOne',
name:'页面1',
component:PageOne
},
{
path:'/pageTwo',
name:'页面2',
component:PageTwo
}
]
},
{
path: '/navigation',
name: '导航2',
component: App,
child:[
{
path:'/pageThree',
name:'页面3',
component:PageThree
},
{
path:'/pageFour',
name:'页面4',
component:PageFour
}
]
}
app.vue怎么动态读取
获取index.js的routes
$router.options.routes
{{item.name}}
{{item2.name}}
index代表下标 避免展开收回是冲突 index属性是字符串
如何把右侧页面只显示页面内容不嵌套导航
新建index.vue 将导航数据存放如下
index.vue
{{item.name}}
{{item2.name}}
App.vue
查看
新增
删除
王小虎
index.js
import Vue from 'vue'
import VueRouter from 'vue-router'
import PageOne from "../views/PageOne"
import PageTwo from "../views/PageTwo"
import PageThree from "../views/PageThree"
import PageFour from "../views/PageFour"
// import App from "../App";
import index from "../views/index"
Vue.use(VueRouter)
const routes = [
{
path: '/',
name: '导航1',
component: index,
children:[
{
path:'/pageOne',
name:'页面1',
component:PageOne
},
{
path:'/pageTwo',
name:'页面2',
component:PageTwo
}
]
},
{
path: '/navigation',
name: '导航2',
component: index,
children:[
{
path:'/pageThree',
name:'页面3',
component:PageThree
},
{
path:'/pageFour',
name:'页面4',
component:PageFour
}
]
}
]
const router = new VueRouter({
mode: 'history',
base: process.env.BASE_URL,
routes
})
export default router
menu 与 router 的绑定
1、 标签添加 router 属性。
2、在⻚⾯中添加 标签,它是⼀个容器,动态渲染你选择的 router。
3、 标签的 index 值就是要跳转的 router。
初始化初始页面
redirect:"/pageOne",
默认跳转
path: '/',
name: '导航1',
component: index,
redirect:"/pageOne",
children:[
{
path:'/pageOne',
name:'页面1',
component:PageOne
},
初始化没有被选中导航怎么办?
:class动态加样式
{{item2.name}}