我在控制器中有一个观察者,在进行更改时保存对象.问题是它经常被哄骗.
changed: ( ->
#save code goes here
).observes("description")
Run Code Online (Sandbox Code Playgroud)
我在想像http://underscorejs.org/#debounce这样的东西需要吗?
此外,当属性通过键输入更改时,似乎将对象保存两次,然后在从返回的服务器值设置属性时再次保存对象.
任何帮助都会很棒我试图把我的头包裹在余烬之下.
Fel*_*ung 22
从Ember 1.0.0开始,你可以通过将去抖动调用包含在另一个观察到的函数中,在任何视图或对象中获得去抖动的观察者.Ember.run.debounce不返回函数,而是将函数句柄添加到字典中.随后每次使用该函数句柄调用Ember.run.debounce时,它将检查字典以查看函数的最后一次调用并按预期对其进行去抖动.
var MyView = Ember.View.extend({
calledRarely: function() {
console.log("This will log rarely.");
},
calledOften: function() {
console.log("This will log often.");
Ember.run.debounce(this, this.calledRarely, 1000);
}.observes("propertyThatChangesOften")
});
Run Code Online (Sandbox Code Playgroud)
在这里,this.calledOften根本没有去抖动,因此Ember.run.debounce实际上会随着属性的改变而被调用.this.calledRarely在我们的去抖动超时完成之前,它不会调用.
| 归档时间: |
|
| 查看次数: |
5857 次 |
| 最近记录: |