vue-infinite-scroll
vue-infinite-scroll copied to clipboard
单页面应用里面,重复请求接口
单页面应用里面,我从a页面进入b页面,在b页面里请求b页面的接口,但是不知道为什么这时候也会请求a页面的接口。很怪异。a和b页面都是这么添加的:
<div v-infinite-scroll="loadMore" infinite-scroll-disabled="busy" infinite-scroll-distance="10">
...
</div>
directives: {infiniteScroll};//使用Vue.use(infiniteScroll)也会这样
但是如果我直接在b页面(或者说在b页面进行刷新),而不是从a进入b,就不会重复去请求a页面的接口了。
我也遇到这种情况,单页面中混入另外一个页面只要高度发生变化,就会触发v-infinite-scroll事件
目前我的解决办法是:通过 activated/deactivated 时设置 infinite-scroll-disabled 的值来激活、停用infinite scroll
@safaring 我也遇到了你的这个问题 先按你说的方法改过来了
具体解决代码有吗 能否提供参考
这是因为2个页面共享了同一个scrollTarget,在一般页面里也就是window。 你可以在单页中手动设置scrollTarget,将滚动限定在一个固定高度的容器中,譬如div(position:absolute;left,right,top,bottom=0),这样可以将scroll listener绑定在2个不同的scrollTarget上,因此在单个页面中滚动不会触发另一个页面的scroll并触发loadMore。
现在我依旧遇到这个情况,来更新下。在单页面中,我切换数据,loadMore()不执行,通过楼上设置 infinite-scroll-disabled 的值来激活、停用infinite scroll 会遇到如果用户未滑动页面的时候,重新加载数据,loadMore依旧不执行。
暂时的解决办法分2个步骤 1.设置 infinite-scroll-disabled 的值来激活、停用infinite scroll 2.给html或者body属性在点击tag时向上或者向下滑动1px
没用啊,把infinite-scroll-disabled,activated(进入)设置false,deactivated(离开)时设置true还是会调用上一个页面的loadmore方法啊
我是从路由‘/’默认页面进入其他页面 在其他页面中重复请求默认页面中的接口 请问下大神们是什么原因