当前位置: 首页 > news >正文

织梦资源下载站网站模板百度游戏

织梦资源下载站网站模板,百度游戏,有关毕业设计的网站,wordpress对接公众号什么是路由守卫? 路由守卫就是路由跳转的一些验证,比如登录鉴权(没有登录不能进入个人中心页)等等等 路由守卫分为三大类: 全局守卫:前置守卫:beforeEach 后置钩子:afterEach 单个…

什么是路由守卫?

路由守卫就是路由跳转的一些验证,比如登录鉴权(没有登录不能进入个人中心页)等等等
路由守卫分为三大类:

  1. 全局守卫:前置守卫:beforeEach 后置钩子:afterEach

  2. 单个路由守卫:独享守卫:beforeEnter

  3. 组件内部守卫:beforeRouteEnter beforeRouteUpdate beforeRouteLeave
    所有的路由守卫都是三个参数:

    to: 要进入的目标路由(去哪儿)

    from: 要离开的路由(从哪来)

    next: 是否进行下一步(要不要继续

写next()相当于 next(true) 继续执行

不写 相当于next(false)终止执行

next(path)跳转 例如:next("/login")

注意:后置钩子afterEach没有next参数,我们来详细看看都是怎么使用的叭

全局守卫:

全局前置守卫beforEach:

给需要守卫的路由加上: meta: { permission: true },

router.beforeEach((to, from, next) => {if (to.meta.permission) {if (sessionStorage.getItem("token")) {next();} else {alert("请先登录");next("/login");}} else {next();}
});

全局后置钩子afterEach(少用)

router.afterEach((to, from) => {// to and from are both route objects.
});

单个路由守卫:

  // 首页模块路由{path: "/index",name: "index",meta: { permission: true },component: () => import("../views/Index.vue"),beforeEnter: function(to, from, next) {if (sessionStorage.getItem("token")) {next();} else {alert("请先登录");next("/login");}}},

组件内部守卫:

datacreatedmountedmethods处于平等关系

beforeRouteEnter举例说明:

  beforeRouteEnter(to, from, next) {// 在渲染该组件的对应路由被 confirm 前调用// 不!能!获取组件实例 `this`// 因为当守卫执行前,组件实例还没被创建if (sessionStorage.getItem("token")) {next();} else {alert("请先登录");next("/login");}},beforeRouteUpdate(to, from, next) {// 在当前路由改变,但是该组件被复用时调用// 可以访问组件实例 `this`},beforeRouteLeave(to, from, next) {// 导航离开该组件的对应路由时调用// 可以访问组件实例 `this`},

beforeRouteEnter 是进入前

beforeRouteUpdate 是路由变化时

beforeRouteLeave 是离开后。这个离开守卫通常用来禁止用户在还未保存修改前突然离开。该导航可以通过 next(false) 来取消。

注意:
beforeRouteEnter 守卫 不能 访问 this,因为守卫在导航确认前被调用,因此即将登场的新组件还没被创建。

vue2、vue3中路由守卫变化

router.beforeEach((to,from)=>{// 现在next可选// vue2 :// 写next()相当于 next(true) 继续执行// 不写 相当于next(false)终止执行// next(path) 跳转指定路由(重定向) //--------------------------------// vue3 :// 返回true | undefined 放行// 返回false取消// 返回路由地址(对象格式) 重定向})

例子:

// 访问权限控制
router.beforeEach((to) => {// 用户仓库const store = useUserStore()// 不需要登录的页面,白名单const wihteList = ['/login']// 如果没有登录(pinia中没有token)且不在白名单内,去登录if (!store.user?.token && !wihteList.includes(to.path)) return '/login'// 否则不做任何处理,什么都不返回则默认返回undefined
})
http://www.dt0577.cn/news/38738.html

相关文章:

  • 最好的网站建设机构软文文案
  • 网站建设费用会计分录太原关键词优化服务
  • 网络营销网站建设实训优化大师软件大全
  • 四平市住房和畅想建设局网站中国新冠疫苗接种率
  • 网站多语言版本官网首页入口百度
  • 金融公司网站免费模板网络宣传平台有哪些
  • 大连建立网站公司淘宝运营一般要学多久
  • 一级做爰片a视频网站4购买链接怎么买
  • 提供模板网站制作多少钱竞价推广账户托管费用
  • 1.2婚庆网站建设的目的广告营销公司
  • 网站建设作业过程seo免费资源大全
  • 专业网站建设价格保定seo推广外包
  • 网站是别人做的我这就没有根目录seo文章是什么意思
  • 做平台网站产品上传开网店如何运营和推广
  • 江苏优化网站网站推广关键词排名优化
  • 免费门户网站模板seo常规优化
  • 空壳公司怎么注册青岛官网seo
  • moodle网站建设百度seo推广怎么收费
  • 网站 做 app怎么找精准客户资源
  • 网站的思维导图怎么做在线建站模板
  • 上海网站建设公司大全百度预测大数据官网
  • 改版百度不收录网站北京seo关键词排名优化软件
  • 单页面网站模板临沂seo网站管理
  • wordpress侧边菜单栏淘宝关键词优化工具
  • 网站建设用户需求搜索引擎优化课程总结
  • 备案用的网站建设规划书怎么写自己想开个网站怎么弄
  • 如何制定会员营销方案seo个人优化方案案例
  • 在网站中调用在线客服线上营销课程
  • 网站建设开发的目的搜狗搜索网页版
  • 网站建设的好处和目的2024疫情最新消息今天