Scrollload icon indicating copy to clipboard operation
Scrollload copied to clipboard

没有类似destroy的销毁组件的方法吗

Open micheal-death opened this issue 8 years ago • 11 comments

当页面切换不需要scrollload的时候能添加一个方法销毁组件的引用和监听的事件来释放内存吗

micheal-death avatar Mar 22 '17 09:03 micheal-death

我也想问这个,当我搜索的时候发现重新回来后不好使

miuqiang avatar Mar 23 '17 04:03 miuqiang

@miuqiang 你这个“搜索的时候发现重新回来后不好使”的描述也太模糊了吧,我猜你是用的vue吧?我假设你的情况是有一个使用了scrollload的列表页,带着一个搜索框,你从搜索框里输入关键字进行搜索,然后跳转到了一个搜索结果页,再从搜索结果页返回列表页。那么你说的“不好使”指的是什么?scrollload没有记住原先的状态(加载了多少页,滚动到了哪里等等)?还是scrollload的功能不能用(下拉,上拉不好使,代码报错等等)?至少问题要描述清楚吧。。虽然我觉得你这个“不好使”的原因多半是使用vue的方法不对。。

micheal-death avatar Mar 23 '17 06:03 micheal-death

我用的zepto,我的列表在同一个页面,回来后无限制的加载 ,获取数据的方法写在一起得。

miuqiang avatar Mar 23 '17 06:03 miuqiang

@miuqiang 有没有在线demo可以提供,bug重现的步骤也麻烦说一下。

fa-ge avatar Mar 23 '17 06:03 fa-ge

暂时还没有在线demo,当页面初始化进来的时候可以正常的上拉加载,下拉刷新,但是当我在搜索框里搜索了后,滑动页面的时候会无限的触发滑动,然后就无限的加载了

miuqiang avatar Mar 23 '17 06:03 miuqiang

我刚又发现,只有当没有搜索到数据的时候才会出现

miuqiang avatar Mar 23 '17 06:03 miuqiang

@miuqiang 你没有搜索到数据的时候要调用noMoreData这个方法,然后return,不要调用unLock这个方法了。。要不然当然会无限加载了。

micheal-death avatar Mar 23 '17 06:03 micheal-death

image image image image

miuqiang avatar Mar 23 '17 06:03 miuqiang

@miuqiang 你这代码看得头疼。。前面不是说过了么,你应该在查询不到数据的时候调用noMoreData这个方法,或者至少你要调用Lock这个方法吧?

if (data.counts === 0) {
  //do something
  sl.noMoreData()  //or sl.Lock()
  return
} else {
  //do something
  sl.unLock()
}

micheal-death avatar Mar 23 '17 06:03 micheal-death

搜索的时候 sl是undefined的,只有滚动的时候sl才有效

miuqiang avatar Mar 23 '17 07:03 miuqiang

@miuqiang 。。。大哥,我觉得这已经偏离主题有点远了吧,github的issues可不是用来教人写代码的地方啊。 首先,你在实例化Scrollload的时候应该将这个实例赋值给一个变量。

var scrollload = new Scrollload({...})

然后,你在绑定搜索触发的事件里,调用异步获取数据的方法时应该把这个实例化的Scrollload当做参数传进去。

$('#JS_search').bind('input propertychange', function () {
  //...do something
  get_forum_news(scrollload)
})

micheal-death avatar Mar 23 '17 07:03 micheal-death