ruby on rails - Load Only Part of an Ember App at Once -
i building ember app , starting large. there way lazy loading of ember files take 10+ seconds load when user first hits site? illustration since have several logically separate modules part of site, load modules accessed. using ruby on rails , ember-rails gem.
if think ember doing render code, can understand why slow. suppose you're creating 2k view instances, , rendering 2k templates. templates part doing little. if don't care info binding.
for first stab, let's stop rendering through templates. code uses itemviewclass
render each item custom view instead of view used internally each
.
// utilize {{each item in items itemviewclass=app.spanview}} app.spanview = em.view.extend({ render: function(buffer) { buffer.push("<span>"+this.get('content')+"</span>\n"); } });
jsbin: http://jsbin.com/enapec/35/edit66
with render over-ridden, need interact render buffer ourselves.
even faster getting rid of view entirely. think there 2 ways this. create custom view render
method loops on items, , pushes each element onto buffer. think given previous illustration can going yourself.
another simple alternative utilize helper. dumb helper more hard wire re-rendering when list changes, right solution.
// utilize {{eachinspan items}} em.handlebars.registerboundhelper('eachinspan', function (items) { homecoming ( new handlebars.safestring( items.map(function (i) { homecoming '<span>'+i+'</span>'; }) ) ); });
live jsbin: http://jsbin.com/enapec/34/edit
lastly, in jquery didinsertelement
, afterrender
queue. don't recommend though.
ember.renderbuffer
gathers info regarding view , generates final representation. ember.renderbuffer
generate html can pushed dom.
fyi here renderbuffer api
defined in
module : ember-views
i new bee got resource. thanks.
ruby-on-rails ember.js
No comments:
Post a Comment