When it comes to rendering a large list of items on the client-side, what are my options with Ember.js? Pagination comes to mind as an obvious way to decrease the rendering time, but are there any other tricks that allow you to render a big list of items without that noticeable browser freeze as the javascript executes?
相关问题
- Inserting a translation into a placeholder with Em
- Can't find module on migrating ember-cli app t
- How to get the value of a checkbox of a template i
- ember component based on model type
- ember Error: Compile Error: is not a helper
相关文章
- How to use autofocus with ember.js templates?
- Including dependencies with ember-cli
- Pass a reference of the clicked DOM element to the
- Ember upgrade breaks one test, and only in Safari
- ember testing Error Adapter operation failed
- Ember : addObject/ pushObject is not a function
- Ember: use controller data in route or how to fetc
- Setting tagName on application template in ember j
ember-list-view for lists
ember-table for tables
I tried a million different ways of rendering lists and templates without these to no avail, so hopefully this helps someone.
I found a similar performance issue when rendering large lists.
My use cases is to render log entries. I ended up using jQuery and writing directly to the DOM.
Here's a post on how I did it and here's the code.
To cut a long story short, I get 50 records and render them on the screen. At the bottom of the screen, I have a Show More button. If the user clicks this, I append the next 50 of the bottom of the list.
Note that my records are read only. If I had to perform CRUD operations, I would revert to using collections with paging. Collections provide binding support so when the user edits a record, the fields in the list will automatically get updated. Here's the post on CRUD operations.
My code is still using Sproutcore 2 before it was renamed to EmberJS. I think you will find most of the API are the same - just the namespace needs changing.
Hope this helps.