- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我试图将未登录的用户从所有页面重定向到 /login
.我试过 beforeEach()
但是当用户使用像 /home
这样的直接 url 进入站点时它不会触发, /event
.
每条路由保护 beforeEnter()
工作完美,因为一旦用户登陆该特定页面,它就会触发。但是,它需要我添加 beforeEnter()
在每条路线上。
我正在寻找一种方法来复制该 beforeEnter()
几乎在路由器上的每个页面(甚至在动态页面上),未登录的用户都会被重定向到 /login
.
当用户使用直接 url /home
输入时,此方法有效.
routes: [
{
path: '/home',
name: 'home',
beforeEnter(to, from, next){
if ( to.name !== 'login' && !this.isloggedin ){
next({
path: 'login',
replace: true
})
} else {
next()
}
}
},
...
]
这个只有在用户进入站点和路由改变后才有效
vm.$router.beforeEach((to, from, next)=>{
if ( to.name !== 'login' && !this.isloggedin ){
next({
path: 'login',
replace: true
})
} else {
next();
}
})
提前致谢。
最佳答案
看起来像这样 beforeEach
在初始化的组件中定义,这意味着第一个路由已经发生。在路由器模块中使用您的路由定义它:
const router = new VueRouter({
...
})
router.beforeEach((to, from, next)=>{
if ( to.name !== 'login' && !this.isloggedin ){
next({
path: 'login',
replace: true
})
} else {
next();
}
})
希望您正在使用 Vuex 并且可以为
store.state.isloggedin
导入商店.如果还没有使用 Vuex,这说明了为什么它对全局状态很有用。
关于javascript - Vue 路由器 beforeEnter 与 beforeEach,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65200775/
我将如何使用 beforeEnter 调用函数将数据传递给相应的路由组件? 在这种情况下, beforeEnter 的目的是确认有效的不记名 token 作为 cookie 存在。 目前,我有 bef
我试图将未登录的用户从所有页面重定向到 /login .我试过 beforeEach()但是当用户使用像 /home 这样的直接 url 进入站点时它不会触发, /event . 每条路由保护 bef
Ionic 2 的 $on("$ionicView.beforeEnter", function() {}) 等价于什么? 最佳答案 现在有不同的 View 生命周期 Hook ,如 onPageWi
我正在尝试为我的子路由定义一个 beforeEnter 守卫,但我没有成功。这是我的路线配置: ... { path: '/', component: App befo
我正在尝试创建一个 SPA,其中显示奥地利每个州的经销商。例如,如果用户访问 example.com/vienna,它会显示维也纳的每个经销商。但是,如果用户访问 example.com/paris,
我使用 ionic , $ionicView.beforeEnter 和 $ionicView.enter 之间耗时超过 1s。 我如何才能找到我的代码的哪一部分花费了这么多时间? Batarang
如何访问通过存储操作异步检索的 beforeEnter 中的存储数据? import store from './vuex/store'; store.dispatch('initApp'); //
我是一名优秀的程序员,十分优秀!