我有一個工作滾動mixin(你可以看到這個要點)。Debounce使用Ember.run.debounce滾動
App.Scrolling = Em.Mixin.create({
bindScrolling: function() {
var onScroll;
var _this = this;
var scrollFunc = function(){
return _this.scrolled();
};
onScroll = scrollFunc;
$(document).bind('touchmove', onScroll);
$(window).bind('scroll', onScroll);
},
unbindScrolling: function() {
$(window).unbind('scroll');
$(document).unbind('touchmove');
}
});
App.ApplicationView = Ember.View.extend(App.Scrolling, {
didInsertElement: function() {
this.bindScrolling();
},
willRemoveElement: function() {
this.unbindScrolling();
},
scrolled: function() {
console.log('MyView was scrolled : ' + document.body.scrollTop);
}
});
但我相信它的建議去抖此,使用灰燼運行循環(尤其是抖 - http://emberjs.com/api/classes/Ember.run.html#method_debounce)。
非工作代碼示例在這裏:
問題代碼在這裏:
onScroll = Ember.run.debounce(this, scrollFunc, 200);
不幸的是,無論什麼情況下(S)我用我似乎無法得到它的工作。
有些見解將非常感謝。
感謝,
克里斯