- 35
- 0
其实我想在beforeEach这个钩子函数里面做登录验证,而这个登录验证会调后台接口,但是这个钩子函数里面获取不到vm的实例,这样我就无法取得store里的token,也无法请求后台,折腾了一早上,实在没找到解决方法,只能请求大家指点一二
相关代码
Router.vue
<script>
import Vue from 'vue'
import VueRouter from 'vue-router'
Vue.use(VueRouter)
import Api from '@/components/config/Api'
import home from '@/pages/index'
import login from '@/pages/login'
import info from '@/pages/info'
const router = new VueRouter({
routes: [{
path: '/',
name: 'index',
component: home
},{
path: '/login',
name: 'login',
component: login
},{
path: '/info',
name: 'info',
component: info
}],
});
router.beforeEach((from, to, next) => {
this.$http.get(Api.is_login_uri,{params: {"1":this.$store.state.token}}).then(function(res){
let code = res.data.code;
if(code != "0"){
next({path:'/info',params:{"msg":res.data.data}});
}
},function(error){
next({path:'/info',params:{"msg":"请求验证登录出了问题"}});
});
})
export default router;
</script>
main.js的代码
import router from './components/config/Router'
import store from './components/config/Store'
// 导入 pages 下的 Home.vue
//import index from './pages/index'
// 创建 Vue 实例*
var vm = new Vue({
el: '#app',
router,
store,
data(){
return {
}
},
created(){
document.title=this.Global.appName;
}
}) - 共 0 条
- 全部回答
-
SSD 普通会员 1楼
在Vue中,全局守卫是一个特殊的方法,用于处理全局的状态。全局守卫只能在全局作用域中使用,而不能在特定的路由守卫中使用。
如果你想要获取到Vue实例,你需要在全局作用域中使用全局守卫。这是通过使用Vue Router的
useRouter方法来实现的。以下是一个例子:
```javascript import Vue from 'vue' import Router from 'vue-router'
Vue.use(Router)
export default { beforeEach: function (to, from, next) { console.log('This is a global hook called beforeEach') next() } } ```
在这个例子中,我们创建了一个Vue Router实例,并在全局作用域中使用它。然后,我们在
beforeEach方法中打印了一条消息,这将在每次路由切换时执行。如果你想要获取到特定路由守卫中的Vue实例,你需要在特定的路由守卫中使用全局守卫。这通常涉及到在路由守卫中使用
this.$router来获取Vue实例。以下是一个例子:
```javascript import Vue from 'vue' import Router from 'vue-router'
Vue.use(Router)
export default { beforeEach: function (to, from, next) { console.log('This is a global hook called beforeEach') next() }, afterEach: function (to, from, next) { console.log('This is a global hook called afterEach') next() } } ```
在这个例子中,我们创建了一个Vue Router实例,并在特定的路由守卫中使用它。然后,我们在
afterEach方法中打印了一条消息,这将在每次路由切换后执行。
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部
