之前在做一个vue项目,使用vue-router进行路由跳转,
切换页面的时候,需要在页面跳转之前进行一些判断操作,便没有使用router-link这个标签,而是使用了a标签,
我的需求是,从/stastic路由跳转至/fullView路由,然后在fullView页面点击返回,返回至stastic页面
当时stastic页面是这么写的
查看
goFullView (id) { this.$router.push({path: '/fullView',query: {id: id}}) },
项目运行之后,从一级页面通过这个链接走进goFullView方法之后, 路由确实跳转成功,可地址栏显示却是http://localhost:8083/#/这种,本应该是http://localhost:8083/#/fullView?id=1这种形式,(不是百分百这种情况,也有时候地址栏会正常显示) 此时点击二级页面的返回按钮,没有返回到stastic页面,而是返回了首页,
解决方法:把a链接的href属性去掉,或者改为href="javascript:;" 就可以了
问题就出现在a链接身上了,router-link标签进行路由跳转,其实也是使用a标签,href属性值指向即将要跳转的url,如果值为#,表示不进行页面跳转,通常也使用这个实现回到顶部的效果,如果值为javascript:;则表示执行了一条空的js语句,地址不发生跳转,然后执行click方法,写法上跟javascript:void(0);一个意思,
用错了href属性,闹笑话了哈哈