前端路由:URL中的hash(#号之后的内容)与组件之间的对应关系
让vue知道/dept对应哪个vue文件
vue官方提供了路由插件Vue Router,主要组成如下:
VueRouter:路由器类,根据路由请求在路由视图中动态渲染选中的组件
<router-link>:请求链接组件,浏览器会解析成<a>超链接标签
<router-view>:动态视图组件,用来渲染展示与路由路径对应的组件
首先VueRouter根据配置的hash表维护一张路由表;
然后提供一个<router-link>组件,用户点击,发出路由请求;
接着我们的VueRouter根据路由请求,在路由表中找到对应的vue组件;
最后VueRouter会切换找到的的组件,<router-view>动态进行视图的更新
import VueRouter from 'vue-router'
Vue.use(VueRouter)
const routes = [
{
path: '/emp',
name: 'emp',
component: () => import('../views/tlias/EmpView.vue')
},
{
path: '/dept',
name: 'dept',
component: () => import( '../views/tlias/DeptView.vue')
},
{
path: '/',
redirect: '/dept'
}
]
const router = new VueRouter({
routes
})
export default router
在src/router/index.js文件中定义路由表
redirect: '/dept'指定初始页面
<el-menu-item index="1-1">
<router-link to="/dept">部门管理</router-link>
</el-menu-item>
<el-menu-item index="1-2">
<router-link to="/emp">员工管理</router-link>
</el-menu-item>
对应的vue文件中修改按钮为<router-link>
<template>
<div>
<router-view></router-view>
</div>
</template>
App.vue中定义route-view,作为组件的切换
注:如果没有redirect: '/dept'指定初始页面,会一片空白