これが最善の方法かどうかはわかりません。値からの境界を変更する前に、遅延を追加する必要があります。これには複数のシナリオがありますが、一般的なシナリオは、変更されたテキストの検索です。テキスト ボックスに何かを入力した後、すぐにリストをフィルター処理したくありません。遅延を導入したいと思います。これを実現するには、主にカスタム ビューを作成する方法がいくつかあります。
カスタムバインディングを追加することを考えていました。これはどのように見えるかです:
var DelayedBinding = function () {
var updateBack = function (target) {
console.log('called')
this._scheduleSync(target, 'back');
};
Ember.Binding.apply(this, arguments);
this.toDidChange = function(target) {
Ember.run.debounce(this, updateBack, target, 5000);
};
};
DelayedBinding.prototype = Ember.Binding.prototype;
コードでバインディングを設定するとうまく機能します。
new DelayedBinding('value', '_parentView.context.term').connect(this);
それは機能しますが。Bindings は Ember の他のものと同じ拡張性パターンに従っていないように見えるconstructors
ので、これが正しい方法であるかどうかはわかりません。