Vue编程式路由导航和路由守卫

更新日期: 2022-02-25阅读: 1.2k标签: 导航

<router-link>的replace属性

作用:控制路由跳转时操作浏览器历史记录的模式

浏览器历史记录有两种写入方式:分别有push和replace,push是追加历史记录,replace是替换当前记录,路由跳转时是push

如何开启replace模式:

<router-link replace ...>news</router-link>

编程式路由导航

作用:不借助<router-link>实现路由跳转,让路由跳转更加灵活

具体编码:

methods: {
  pushShow(m) {
    this.$router.push({
      name: 'msg-d',   // 就是路由的名称,不能使用path
      params: {
        id: m.id,
        title: m.title,
        views: m.views
      }
    })
  },
  replaceShow(m) {
    this.$router.replace({
      name: 'msg-d',   // 就是路由的名称,不能使用path
      params: {
        id: m.id,
        title: m.title,
        views: m.views
      }
    })
  },
  back() {  // 后退
    this.$router.back()
  },
  forward() {   // 前进
    this.$router.forward()
  },
},

路由守卫

全局路由守卫

// 全局前置路由守卫——初始化的时候被调用,每次路由切换之前被调用
router.beforeEach((to, from, next) => {
  // to and from are both route objects. must call `next`.
  if(to.meta.isAuth){
    if(localStorage.getItem("user") === 'xiansen'){
      next();
    }else{
      alert("您没有权限!");
    }
  }else{
    next();
  }
})

// 全局后置路由守卫——初始化的时候被调用,每次路由切换之后被调用
router.afterEach((to, from) => {
  // to and from are both route objects.
  document.title = to.meta.title || '测试vue脚手架'
})

独享路由守卫(在路由中配置该属性,方法功能和上面的一样)

beforeEnter:(to, from, next) => {   // 独享路由守卫
  if(to.meta.isAuth){
    if(localStorage.getItem("user") === 'xiansen'){
      next();
    }else{
      alert("您没有权限!");
    }
  }else{
    next();
  }
},


链接: https://fly63.com/article/detial/11225

移动端H5固定底部导航菜单的三种布局实现

需要把导航固定在底部?只能滑动内容,导航菜单固定不动的。这篇文章主要讲解三种实现方案,包括:fixed,absolute,以及css3的flex布局。

jQuery对底部导航进行跳转并高亮显示

mui的底部菜单,有点费时了,尝试了用vue写,纯js写,还有根据mui的写,还是有些问题和麻烦。直到看了网上的一些例子,才想明白,之前一直是一种点击触发事件才高亮的思维去做

移动端导航布局

写在最前:移动端中导航的网格式布局无处无在,宽高怎么设置相适应?元素怎么居中对齐?不同场景怎么选择代码最高效?巧妙使用margin、padding等基础属性,小小技巧可以解决许多烦恼!

小程序如何自定义导航栏?

setStatusBarHeight、setNavBar这两个方法最好写到app.js中,获取好放在app.globalData中,这两个高度可能不止自定义导航栏需要用到。比如使用了自定义导航栏的页面,因为自定义导航栏是fixed定位脱离文档流

网站导航的设计细节

在快速建站中,每一个细微的方面都会影响网站的优化效果。因此,在做营销网站时,有必要充分考虑并优化每个细节。今天,我们将与您分享一个在实践中容易被忽略且非常重要的细节,即网站导航的设计。

Vue开发之底部导航栏

导航切换封装一个公用组件Tabbar,在需要导航页的页面引入组件即可。使用缓存是为了保存选中路由的 tabIndex ,在刷新页面的时候,依然可以保持(选中/激活)状态。

position: sticky实现导航栏下滑吸顶效果

近期开发中遇到导航栏下滑吸顶的需求,经过方案调研,发现position:sticky可以简单快捷的实现功能。sticky(粘贴定位)可以被认为是相对定位和固定定位的混合,元素在跨越特定阀值前为相对定位

推荐一个简洁实用的导航网站,你值得拥有!

大家应该用过像hao123、2345导航、360导航等导航网站吧,随着互联网时代的的发展,导航网站变的越发臃肿,里面挂载了很多广告,新闻等,使的网站看上去很不美观

element-ui中使用$router.push跳转,导航菜单不高亮解决方案

在使用elment-ui做后台开发过程中,发现如果使用this.$router.push跳到其他的路由,菜单导航不会高亮的问题,下面给出3种解决方案。

内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!