Error: [$compile:ctreq] Controller '$ionicScroll', required by directive 'ionRefresher', can't be found!
Error: [$compile:ctreq] Controller '$ionicScroll', required by directive 'ionInfiniteScroll', can't be found!
And if there is a way to use both infinite-scroll and ion-refresher with overflow-scroll="true" is there a way to use overflow-scroll="true" only on Android and not on iOS?
Native scrolling performance ranges from satisfatory to amazing on android devices regardless of how much content you put into a list, as I commented on the github issue. However, Ionic has chosen to value virtual javascript-based scrolling over native scrolling to be able to easily offer features such as Pull-to-refresh and infinite scrolling, just like @mhartington mentioned. Arguments given were that native scrolling event detection is buggy and that overall scroll isn’t configurable.
to trust the team to break the rules and expectations and implement a virtual scrolling that is both stable and performant on browsers other than iOS or very top notch Android so we can use nice features such as PTR and Infinite Scroll
try to implement it yourself to play nice with Ionic:
I agree, native-scroll(overflow-scroll) is workings much better specially with iOS(the screen is flashing on scroll- it actually scroll it too fast to the bouncing part).
Is there any way to make the refresher work with overflow-scroll?
ionic scroll is too bad, even my mobile is xiaomi 2s with 1.7GHz CPU 2G RAM, Android 4.4.2 kitkat, i can’t get smooth scroll, finally i use overflow-scroll=true, this give me like native app effect, give up any pull refresh and infinite-scroll.
@fredericogalvao thanks for the nice sum up! I am facing the same problems with laggy scrolling in Android.
My combination is:
ion refresher
ion list with complex elements inside (mostly text only one tiny image)
Its a desaster on my brand new and strong OnePlus One. On nexus 5 its “OK”, but only the scrolling part. Pull-to-refresh is very laggy.
In iOS the performance is just like native. It would be amazing if the Android scroll implementation can reach the level as iOS. Otherwise I am really struggling with myself releasing the Android version.
I am also facing the same issue. The scroll is good if we disable the jsScrolling. But ion-refresher is not working. Even side menu bar is not moving right side when we swipe right. When i click on the toggle button, then the menu bar is working fine. If any one find some solution please let me know. It will be really helpful. By the way i am using 1.0.0-rc.2
I managed to make both infinite-scroll and ion-refresher with overflow-scroll=“true” by changing code in ionic.bundle.js. Only changed tow line of code to make it work:
in function handleTouchend(), move the line:
startY = null;
as the first line of the function;
in function handleTouchmove(), change the line:
if (deltaY - dragOffset <= 0 || scrollParent.scrollTop !== 0) {
to:
if (deltaY - dragOffset < 0 || scrollParent.scrollTop !== 0) {
That’s all changes, it works well by far.
@mhartington do you see any potential issues of this method?