我想使用onWheel
来实现一个列表,它只呈现视图中的元素,但是如果我想要带键的子元素,似乎必须牺牲滚动的动量。
在此示例中,您可以滚动一百万行,但动量滚动仅在灰色区域之外工作。这是因为触发轮子时光标下的行元素将从DOM中删除。(如果省略了第43行的键属性,则动量滚动将再次工作,因为这样会重用而不是删除行元素。)
有没有办法让容器元素成为轮子事件的目标,而不是临时的row元素?
对于避免这个问题的替代实现的建议也是受欢迎的,也许可以在onWheel
上使用onScroll
(注:受http://emberjs.com/list-view/启发的机制)
发布于 2015-06-17 05:05:41
我刚刚在angularJS应用程序中通过修改ng-repeat解决了这个问题。这可能对您没有帮助,但可能会帮助其他正在考虑此问题的人。
您所需要做的就是在ng-repeat
中添加track by element.id
。
<li ng-repeat="task in tasks track by task.id">
请参阅:http://www.codelord.net/2014/04/15/improving-ng-repeat-performance-with-track-by/
https://stackoverflow.com/questions/25070349
复制相似问题