ember.js - Updating loaded models with JS -
to explain exact use-case: have news-model 'created_at' field. displaying dates arraycontroller works fine , expected. want now, converting these dates fuzzy times http://pragmaticly.github.io/smart-time-ago/ (or http://timeago.yarp.com/). problem here is, need call $('.timeago').timeago('refresh');
once timestamps loaded , displayed. seems work fine long navigate within ember-app. when refresh site plugin somehow can't convert it. suppose command doesn't called @ right time app. doing in following 2 ways right now: in view:
didinsertelement: function(){ $('body').timeago('refresh'); }
and in controller:
updatefuzzytime: function(){ $('body').timeago('refresh'); }.observes('content')
when in either place settimeout()
command set 1000ms work.
so how can ember perform command when model loaded , displayed on refresh? (in project had similar issue , there used rerender()
command did work, in use-case can not that)
edit: post here well. plugin looks @ datetime-attribute of time element. hbs code looks this:
<time class="timeago" {{bindattr datetime="date"}}>{{date}}</time>
and suppose reason why hooks don't work because though dom rendered suppose ember hasn't updated attribute yet.
try calling in afterrender
callback. executes after else.
init: function() { this._super(); ember.run.scheduleonce('afterrender', this, 'updatefuzzytime'); } updatefuzzytime: function() { $('body').timeago('refresh'); }
Comments
Post a Comment