VUE路由Router导航、模式

VUE路由Router导航、模式路由守卫也称为导航守卫,用来对路由导航进行守卫,控制导航的跳转,可以进行权限的控制,分为:1、全局前置守卫:使用router.beforeEach2、全局解析守卫:使用router.beforeResolve3、全局后置钩子:使用router.afterEach//当一个导航出发时,全局前置守卫将被调用router.beforeEach((to,from,next)=>{//to即将要访问的目标路由对象//from来源于哪个路由对象//next是一个函数,表示下一步咋么做,.

大家好,欢迎来到IT知识分享网。

路由守卫也称为导航守卫,用来对路由导航进行守卫,控制导航的跳转,可以进行权限的控制,分为:

1、全局前置守卫:使用router.beforeEach
2、全局解析守卫:使用router.beforeResolve
3、全局后置钩子:使用router.afterEach

//当一个导航出发时,全局前置守卫将被调用
router.beforeEach((to,from,next) =>{

//to 即将要访问的目标路由对象
//from 来源于哪个路由对象
//next是一个函数,表示下一步咋么做,如:next()表示放行,next(’/login’)表示跳转到/login路径
})

如果用户登录,就允许用户访问,没有登录就不允许访问。

 index.js

//配置路由守卫
router.beforeEach((to,from,next) =>{
	//如果访问主页,则放行
	if(to.path === '/'){
		return next()
	}
	//如果用户未登陆,则跳转到主页
	const user = sessionStorage.getItem('user')
	if(!user){
		return next('/')
	}
	//如果用户已登陆,则放行
	next()
})

VUE路由Router导航、模式

路由的模式:

hash模式(默认)
原理:使用HTML的锚点技术,实现路由匹配和跳转
缺点:地址中会出现#号,比较丑陋

history模式
原理:使用HTML5的History技术
缺点:在生产环境下,如果用户在浏览器中直接访问url会返回404报错
解决:需要后台服务器增加一个覆盖所有情况的候选资源,如果url匹配不到任何静态资源,
则返回同一个页面

//引入
import { createRouter, createWebHasHistory, createWebHistory } from 'vue-router'

//创建路由实例
const router = createRouter({
	//history:createWebHashHistory(),//has模式
  history: createWebHistory(process.env.BASE_URL), //history模式
  routes  //路由配置项,上面配置的routes
})

编程式导航

除了使用<router-link>组件来定义导航链接,还可以通过编写js代码,调用路由实例$router的方法来实现路由跳转,称为
编程式导航

路由实例$router,表示构建路由时的实例对象,主要用来对路由进行控制,称为路由控制对象

该对象为所有组件共享的实例属性,在所有组件中都可以通过this.$router访问,且访问的都是同一个对象
 

VUE路由Router导航、模式

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/21912.html

(0)
上一篇 2024-01-13 18:33
下一篇 2024-01-16 12:33

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

关注微信