路由重定向
- 路由重定向问题
把home区域显示的东西重定向到/welcome的页面(即显示/home的时候,重定向到/welcome,显示welcome组件的内容),在home的那个区域放一个路由占位符< router-link >
import Vue from 'vue'
import Router from 'vue-router'
import Home from '../components/Home.vue'
import Welcome from '../components/Welcome.vue'
Vue.use(Router)
const router= new Router({
routes: [
{ path: '/login', component: Login },
{ path: '/', redirect: '/login'},
{ path: '/home', component: Home , redirect:'/Welcome'}
首页路由重定向
- path的设置(welcom设置为home的子路由)
- path都是路径’/welcome’, component 是组件 Welcome
- 路由占位符在路由重定向的时候使用
![在这里插入图片描述](https://img-blog.csdnimg.cn/373b56ce11f4449a918e1cea9e4d8a31.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA56eA56eA55qE5aWH5aaZ5peF6KGM,size_20,color_FFFFFF,t_70,g_se,x_16)
编程式导航
例子一
- 背景:home主页中定义了一个退出按钮,设置触发事件 ,点击退出到登录(/login)界面
- 编程式导航写法:this.$router.push(’/login‘)
![在这里插入图片描述](https://img-blog.csdnimg.cn/09e35a973f7e4d26884bea8ffa2fe260.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA56eA56eA55qE5aWH5aaZ5peF6KGM,size_20,color_FFFFFF,t_70,g_se,x_16)
例子二
- 主页左侧菜单栏的跳转:使用的elui,router 和 下边的:index=’数据里的path项’
![在这里插入图片描述](https://img-blog.csdnimg.cn/aae583e9c1214950bf19b44106694247.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA56eA56eA55qE5aWH5aaZ5peF6KGM,size_20,color_FFFFFF,t_70,g_se,x_16) ![在这里插入图片描述](https://img-blog.csdnimg.cn/82c1fec8c1dc470b8ccc676e712b2629.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA56eA56eA55qE5aWH5aaZ5peF6KGM,size_20,color_FFFFFF,t_70,g_se,x_16)
例子三
- 点击添加按钮进入添加商品页面(编程式导航)
this.$router.push(’/goods/add’) - 登录成功好后跳转到主页(编程式导航)
![在这里插入图片描述](https://img-blog.csdnimg.cn/1778e9dda50d4153b0fe89946784eb52.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA56eA56eA55qE5aWH5aaZ5peF6KGM,size_20,color_FFFFFF,t_70,g_se,x_16) 使用window对象保存token,编程式导航到home主页, 编程式导航-----this.$router.push(’/login‘) 新建home文件,补充路由规则
路由导航守卫控制访问权限
![在这里插入图片描述](https://img-blog.csdnimg.cn/90c5097892bd48f08cec6558e7a6f150.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA56eA56eA55qE5aWH5aaZ5peF6KGM,size_20,color_FFFFFF,t_70,g_se,x_16)
- 拿到一个路由对象,挂载在一个导航守卫上
- js中的=>:箭头函数
- 回调函数:函数的名称(跟数组,字符串一样)作为另一个函数的形参传入
- export default:
export用于对外输出本模块(一个文件可以理解为一个模块)import用于在一个模块中加载另一个含有export接口的模块。使用export命令定义了模块的对外接口以后,其他JS文件就可以通过import命令加载这个模块(文件)export
|