コンポーネント下記のザ・バインディングthis
コンテキストにサイズ変更するウィンドウのイベントハンドラをバインドする方法を示していますそして重い操作をデバウンスする方法。
サンプルEmber-Twiddle
import Ember from 'ember';
export default Ember.Component.extend({
_resizeListener: null, //handler for resize event.
didInsertElement() {
this._super(...arguments);
this._resizeListener = Ember.run.bind(this, this.resizeHandler); //bind this component context and get the function
Ember.$(window).on('resize', this._resizeListener); //register function to be called on resize
},
willDestroy() {
this._super(...arguments);
Ember.$(window).off('resize', this._resizeListener);
},
resizeHandler() {
//you can write your logic specific to resize stuff.
},
});
はほとんどデバウンスて重い操作を処理するために、その優れたように、イベントが頻繁に発生しますサイズを変更します。下記のように、
Ember.run.debounce(this, this.resizeHeavyOperation, 50);