草庐IT

beforeRouteEnter

全部标签

javascript - 如何在 vue-router beforeRouteEnter 钩子(Hook)中重定向到不同的 url?

我正在使用Vue.js2构建一个管理页面,我想阻止未经身份验证的用户访问/admin路由并将他们重定向到/login。为此,我在Admin组件中使用了In-ComponentGuardbeforeRouteEnter,如下所示...beforeRouteEnter(to,from,next){if(userNotLogedIn){this.$router.push('/login');}}这里的问题是this没有在beforeRouteEnter钩子(Hook)中定义。那么在这种情况下访问$router并重定向到不同url的正确方法是什么? 最佳答案

vue路由守卫beforeRouteEnter、beforeRouteUpdate、beforeRouteLeave不生效

最近在项目中需要使用路由守卫,来判断路由返回到指定的页面,在子组件使用的过程怎么样都无法生效。路由组件指的就是在routes.js文件里面用到的组件,子组件和普通组件都不路由组件,所以才路由守卫钩子函数才不会生效。参考:https://www.cnblogs.com/baifangzi/p/14481820.html

vue3 setup语法糖 使用组件内的路由守卫beforeRouteEnter使用方法

由于beforeRouteEnter在setup语法糖中是无法使用的,所以需要再起一个script标签使用defineComponent方式来使用就可以了scriptlang="ts">import{defineComponent}from'vue';exportdefaultdefineComponent({beforeRouteEnter(to,from,next){//需要处理的逻辑next()}});/script>scriptsetuplang="ts">import{ref,reactive,computed,onMounted}from'vue';/script>