2013-09-23 92 views

回答

16

你的懷疑是正確的,但解決的辦法是很容易的。

你的方法:

App.GroupsView = Ember.View.extend({ 
    templateName: 'groups_view', 
    actions: { 
    save: function() { 
     Ember.run.debounce(this, function() { 
     console.log('groups view save'); 
     this.get('controller').send('save'); 
     }, 1000); 
    } 
    } 

}); 

我的解決方案:這樣,你沒有一個匿名函數和灰燼跑環是能夠做到的防反跳邏輯。

App.GroupsView = Ember.View.extend({ 
    templateName: 'groups_view', 
    actions: { 
    save: function() { 
     Ember.run.debounce(this, this.saveFn, 1000); 
    } 
    }, 
    saveFn : function(){ 
    console.log('groups view save'); 
    this.get('controller').send('save'); 
    } 

}); 
+0

嘿mavilein。感謝您的建議!是的,我認爲這也可能是可能的。不幸的是,這也不起作用。我想可能是因爲'這個'的背景,但不是100%肯定的。 – i0n

+0

嗯我測試我與你的垃圾箱..: - /。看看:http://jsbin.com/OvEjafA/1/ – mavilein

+0

我在控制檯中只看到'controller save action'一次。這是它應該的方式,對吧? – mavilein