vue-router 使用a链接跳转至二级子页面偶尔会出现地址栏看不见路由和参数的情况

之前在做一个vue项目,使用vue-router进行路由跳转,

切换页面的时候,需要在页面跳转之前进行一些判断操作,便没有使用router-link这个标签,而是使用了a标签,

我的需求是,从/stastic路由跳转至/fullView路由,然后在fullView页面点击返回,返回至stastic页面

当时stastic页面是这么写的

<a href="#" @click="goFullView(list.id)">查看</a>
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属性,闹笑话了哈哈

猜你喜欢

转载自www.cnblogs.com/fairy62/p/9486979.html