aba*_*ter 5 javascript ember.js
当ember绑定已经同步并且DOM再次更新时,我想做一些事情.
我尝试使用操作绑定模型的函数的回调,在执行回调时不更新DOM.
我已经在模型上直接尝试了观察者,在执行观察者时DOM不会更新.
我已经尝试使用绑定的观察者,在执行观察者时DOM不会更新.
例如
App.view = Ember.View.extend({
modelBinding: 'App.model',
modelChanged : function() {
window.scrollTo(0, document.body.scrollHeight);
}.observes('model'),
getMore: function(event) {
App.set('model', "somethingnew");
}
});
Run Code Online (Sandbox Code Playgroud)
当我触发"gotMore"时,我更新模型,当模型更新并且其更改已经呈现时,我想向下滚动.
在我试过的方法中,没有一个能够获得新的scrollHeight.在这些事件发生后几毫秒设置.
这是关于jsFiddle的一个例子:http: //jsfiddle.net/kcjzw/15/
这里记录了执行此操作的正确方法:
http://emberjs.com/api/classes/Ember.run.html#method_next
modelChanged : function() {
Ember.run.scheduleOnce('afterRender', this, function() {
window.scrollTo(0, document.body.scrollHeight);
$('body').append('New scroll height: '+document.body.scrollHeight);
});
}.observes('content')
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5266 次 |
| 最近记录: |