解决vue.js this.$router.push无效的问题
更新时间:2018年09月03日 15:31:29 作者:gang456789
今天小编就为大家分享一篇解决vue.js this.$router.push无效的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
如下所示:
login() { if(this.email.length > 0 && this.password.length >0) { this.$http.post('/api/login', { user: this.email, password: this.password }) .then(res => { let userPwd = res.data if(this.password == userPwd) { this.$router.push("/") } else { alert("错误,请重新输入!") } }) .catch(err => { console.log(err) }) } else { alert("输入错误!") } }
this.$router.push(“/”)不是跳转到主页,而是变成这样:http://127.0.0.1:8080/login?email=yejia%40qq.com&password=123456,请问哪里错啦?
解决方案1:
有没有可能是已经跳转了,但是主页判断成了没有登录,然后又跳回来了。
解决方案2:
你这里的 this指向已经不是 vue 的对象啦,可以这么改
login() { const self = this; if(this.email.length > 0 && this.password.length >0) { this.$http.post('/api/login', { user: this.email, password: this.password }) .then(res => { let userPwd = res.data if(this.password == userPwd) { self.$router.push("/") } else { alert("错误,请重新输入!") } }) .catch(err => { console.log(err) }) } else { alert("输入错误!") } }
以上这篇解决vue.js this.$router.push无效的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
Vue.js学习记录之在元素与template中使用v-if指令实例
这篇文章主要给大家介绍了关于Vue.js学习记录之在元素与template中使用v-if指令的相关资料,文中给出了详细的示例代码供大家参考学习,相信对大家具有一定的参考学习价值,需要的朋友们下面来一起看看吧。2017-06-06Vue3新特性Suspense和Teleport应用场景分析
本文介绍了Vue2和Vue3中的Suspense用于处理异步请求的加载提示,以及如何在组件间实现动态加载,同时,Teleport技术展示了如何在DOM中灵活地控制组件的渲染位置,解决布局问题,感兴趣的朋友跟随小编一起看看吧2024-07-07
最新评论