ng-scroller
Performant infinite scrolling AngularJS directive with UITableView-like element reusal
Home Page: http://ngscroller.herokuapp.com
ng-scroller
Performant infinite scrolling AngularJS directive with UITableView-like element reusal
While an element with the ng-repeat
directive itself acts as a clone template, an element with the ng-scroller-repeat
directive is itself a container to the clone template instead. This deviation in API design is bound to cause confusion.
It is better to change the API design so that ng-scroller-repeat
mimics the usage experience of ng-repeat
- or, if not possible/feasible, consider changing the name of the directive so that it no longer falsely hinting at a resemblance to ng-repeat
.
I got a fresh copy from master and ran npm install
. I got the following error:
Running task deps
ok
path.js:360
throw new TypeError('Arguments to path.join must be strings');
^
TypeError: Arguments to path.join must be strings
at path.js:360:15
at Array.filter (native)
at Object.exports.join (path.js:358:36)
at /home/climatewarrior/coding/ng-scroller/node_modules/closure-runner/main.js:38:20
at /home/climatewarrior/coding/ng-scroller/node_modules/closure-runner/lib/runner.js:231:16
at /home/climatewarrior/coding/ng-scroller/node_modules/closure-runner/tasks/deps.js:60:9
at fn (/home/climatewarrior/coding/ng-scroller/node_modules/closure-runner/node_modules/async/lib/async.js:579:34)
at Object._onImmediate (/home/climatewarrior/coding/ng-scroller/node_modules/closure-runner/node_modules/async/lib/async.js:495:34)
at processImmediate [as _immediateCallback] (timers.js:330:15)
npm ERR! weird error 8
npm ERR! not ok code 0
Any help would be appreciated. Thanks!
A lot of finicky behavior on mobile devices.
I will fork this and see if I might can help on the touch support. If I make progress, I'll submit a PR.
Mac OS X 10.8.4
Google Chrome 28.0.1500.95
When using "fling" type scrolling, or scrolling very quickly, it is easy to "confuse" the scroller. This begins to happen especially when scrolling back up a page. You end up in a situation where when scrolling down, just as you start to see posts appear, they disappear. It almost looks as though the directive thinks I am in a different position than I actually am. Sometimes all you see is 2 scrollbars.
I have added ng-scroller dependency to my bower.json
and tried npm install
.
Unfortunately it seems that Google Closure dependency cannot be satisfied:
bower closure-library#* not-cached git://github.com/steida/google-closure-library.git#*
bower closure-library#* resolve git://github.com/steida/google-closure-library.git#*
bower closure-library#* ECMDERR Failed to execute "git ls-remote --tags --heads git://github.com/steida/google-closure-library.git", exit code of #128
Additional error details:
fatal: remote error:
Repository not found.
I am not sure if this problem is specific to ng-scroller or any bower package that depends on Google Closure.
I'm not very familiar with bower, and don't know what to do here in order to use ng-scroller in my website. Apparently bower search scroller
doesn't return ng-scroller, so I can't just do: bower install ng-scroller
Currently, dist
is empty, and the build process fails (see truncated output below).
$ npm install
npm WARN package.json ng-scroller@ No repository field.
> ng-scroller@ postinstall ng-scroller
> ./build.sh
sh: ./build.sh: Permission denied
npm ERR! weird error 126
npm ERR! not ok code 0
Set proper permissions on the script, and it still fails.
$ chmod +x build.sh
$ ./build.sh
-----------------------------------------
Update available: 1.2.6 (current: 1.2.5)
Run npm update -g bower to update
-----------------------------------------
Building app dist
Running task compile
Cannot find Closure Library DepsWriter
Can you commit a build? Or, better yet, add GitHub releases?
Check out this video:
Simply put, users will feel weird when they discover they gotta wait for the content they just scrolled pass through to load again, and as can be seen inside the video, it can cause a very noticeable disruption to the browsing experience.
Why not simply use the cached removed content inside the memory?
The video also shows the white space issue reported in #2.
If you go to http://ngscroller.herokuapp.com/examples/twitter.html with either Firefox (on Linux) or Chrome (on Linux), then this happens:
Scroll some amount downwards (as much as you want)
Scroll back upwards - the scrollbar never reaches the start, while the scrolling div doesn't let me scroll upwards more than a small amount.
Now try to scroll downwards: it will only scroll a tiny bit, won't let you scroll any further, and you're trapped (in both directions)
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.