Vue-router 路由守卫传参

比如我要跳转一个页面我要把上一个页面的name传到下一个页面,我不可能在每一个页面传吧,所以想问一下各位大佬如果用路由守卫的话,怎么把上一个页面的name传到当前页面

很简单:

const router = new VueRouter({ ... })

// 使用全局路由守卫
router.beforeEach((to, from, next) => {
  localStorage.lastPageName = from.name
  next()
})

个人习惯直接用vuex来进行这种多页面甚至全局的传参操作,直接将name存到vuex里面,下一个页面this.$store.state.name直接取过来用就可以。

使用localStorage会不会出现一些不必要的安全问题呢?比如我在chrome控制台里使用setItem修改localStorage的值,或者使用getItem拿到localStorage中的本不应该直接暴露出来的值?= =总感觉在这里用localStorage可能会比较危险。

比较赞同这一种用法
众所周知 vuex也具有双向绑定 虽然sessionStorage和localStorage也可以实现全局变量存储
但如果你恰好需要把name用到view上的话 vuex当然是不二之选

好的谢谢,当时钻牛角尖了一心想着要用守卫传参:rofl:,不好意思解决之后忘记看社区了

谢谢大佬的热心帮助,当时钻牛角尖了一心想着要用守卫传参:rofl:,不好意思解决之后忘记看社区了

我参数傻逼的传来传去咋就不知道到vuex好取
刷新了直接返回到有参数的页面嘞
好傻逼嘞.