不确定这是否是最好的方法。在更改值的界限之前,我需要添加一个延迟。这有多种情况,但一个常见的情况是搜索更改的文本。我们在文本框中输入一些内容,我们不想立即过滤列表。我们想引入延迟。有多种方法可以实现这一点,主要是通过创建自定义视图。
我正在考虑添加自定义绑定。这是它的外观:
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);
即使它有效。绑定似乎不像constructors
Ember 中的其他那样遵循相同的可扩展性模式,所以我不确定这是否是正确的方法。