[vuejs/vue-router]想问一下通过v-link跳转的页面是记不住之前滚动位置的吧,设置了saveScrollPosition为true也没有用,应该怎么实现呢

2024-05-08 821 views
2

现在我有一个tab布局的页面,每个tab通过v-link跳转之后都记不住之前的滚动位置,我找了很多方法都解决不了,请问应该怎么做啊,谢谢啦!

回答

1

同样也遇到了这个问题,不知道怎么解决

3

history设置为true,然后服务端按照这里设置就行了,这个 文档里面有说明。

9

@ybing 但因为微信里面必须用hash方式才能让滑动边沿返回正常使用,所以产生了矛盾,这个问题怎么破。

5

@terranc 不太清楚你说的让滑动边沿返回是啥意思。不过在微信里面也是可以正常返回之前访问的位置的,我在微信端做过测试们可以的。至于hash,开启pushSate后浏览器会自动管理的。不过H5pushState属性在微信中有兼容问题,微信的官方解释是:所有需要使用JS-SDK的页面必须先注入配置信息,否则将无法调用(同一个url仅需调用一次,对于变化url的SPA的web app可在每次url变化时进行调用,目前Android微信客户端不支持pushState的H5新特性,所以使用pushState来实现web app的页面会导致签名失败,此问题会在Android6.2中修复)链接

5

@ybing 使用pushState的话只要正常引入js-sdk就可以了是吧?是这个意思吗?

8

@terranc 不是啊。引入js-sdk只是微信的一种接入方式,上面那段话我向表达的是在微信端使用pushState会有兼容问题(Android微信客户端不支持pushState的H5新特性),pushStateH5的一个新特性,和微信无关。

2

@ybing 安卓还没测过,反正ios的完全不支持。只能hash,但hash有闪屏问题

0

@ybing 这不兵哥么,我就想它每次回来都返回到顶部,默认不就是返回原来的位置吗

0

@kolf 在安卓上不设置也可以回到原来位置的,苹果上如果不设置没法返回到默认位置的。