请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

router4.2登录后跳转到上一页面bug

老师,根据您课程的有关router的版本升级,我顺利完成了router4.2的开发,但学习到收藏功能时遇到了问题,点击收藏时没有登录的话跳转到登录页面,登陆后返回上一页面,即detail/id,url有问题,跳转不过去,截图如下

https://img1.sycdn.imooc.com//szimg/5a7821940001f6e314980634.jpg

请问想要得到正确的url,改怎么修改,涉及到的代码如下

https://img1.sycdn.imooc.com//szimg/5a782242000186e205980057.jpg

https://img1.sycdn.imooc.com//szimg/5a7822830001b7fa06260371.jpg

https://img1.sycdn.imooc.com//szimg/5a7822ab0001e95d09170249.jpg

正在回答 回答被采纳积分+3

2回答

郭小新 2018-06-19 10:31:16

你的router编码过了,需要在login组件中 处理跳转到指定页面函数加上decodeURIComponent

// 处理点击登录后的逻辑
	handleLogin(userName){
		// 保存用户名
		const actions = this.props.userInfoActions;
		let userInfo = this.props.userInfo;
		userInfo.userName = userName;
		actions.update(userInfo);

		const params = this.props.match.params;
		const router = params.router;
		if(router){
			// 跳转到指定页面
			this.props.history.push(decodeURIComponent(router));
		}else{
			// 跳转到用户主页
			this.props.history.push('/user');
		}
	}


0 回复 有任何疑惑可以回复我~
双越 2018-02-06 09:49:14

很明显,你截图中有问题的 url 是 encode 过的,你把相应地方代码的 encode 去掉就是了。根据我的思路,去找一下修改修改,应该能找到的。

0 回复 有任何疑惑可以回复我~
  • 提问者 慕UI7829676 #1
    老师我偷了个懒,改成 window.history.back()就到上级页面啦,目前测没有问题,不知道有木有影藏的bug
    回复 有任何疑惑可以回复我~ 2018-02-06 10:24:39
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信