比如配置了2个侧边栏:
侧边栏1:https://test.com/#/ 页面内没有任何路由更新
侧边栏2:https://test.com/#/tags 页面内没有任何路由更新
在进入侧边栏1后,切换到侧边栏2,再切换(来回切换),然后在任意侧边栏点击返回按钮,按理应该是没有历史记录。但是点击返回按钮不会直接退出,而是会回退历史记录???
基于官方的回复说hash模式会产生历史记录,然后我又将Nginx配置改成如下:
location /wxwork-sidebar{
access_log logs/log.log main;
root static;
try_files /test/test2.html $uri=500;
然后配置了2个tab:
tab1:https://test.com/#/tags 这里还是走hash模式
tab2:https://test.com/wxwork-sidebar/info 这里走历史模式,详细见上面Nginx的路由加了一个配置
这个时候再来回切换tab,同样在任意tab里面点击返回键,Android一定会出现在当前tab里面会回退到另一个tab的内容!!!
下面是操作视频,请参考
https://pinpai-portal-rs.eebbk.net/2020/01/18/1579334969120/6783191725006213749.MP4
您好,进入侧边栏1 切换到侧边栏2,点击返回按钮不会直接退出,会回退到历史记录,这个应该是浏览器的逻辑吧
侧边栏配置的路径是通过auth形式redirect的,如:
redirect_uri=encodeComponentURI(https://test.com/#/tags)
您用 vue-router 控制 tab 和 页面,必定会出现上面您描述的情况,而这也是符合最初的设计思想的
如果您想在 tab 之间互相切换而不不会影响“返回”的效果的话,建议您直接用 vuex 定义全局变量,当点击 tab 时,改变这个变量,而页面监控变量发生变化后,就切换渲染内容。
而且,这种方式你用vuex是无法进行变量监测的,因为切换tab相当于刷新了页面,并不是通过vue-router来改变路径