2013-08-01 64 views
1

我有一個Ember.TextField在Ember.js模板:如何使用以編程方式更改的Ember.TextBox數據更新存儲?

{{view Ember.TextField valueBinding='name' id='myname'}} 

它工作正常保存到存儲和比對標準Ember.js數據庫。

但是,當我改變這個文本框編程的值:

document.getElementById('myname').value = 'other'; 

並保存,它不會被保存。 當我在執行上面的代碼後手動添加一個字母時,值被正確保存。

所以我的問題是:

如何programmaticaly改變文本框的值,以便Ember.js數據將被更新?或者:如何直接在Ember.js數據中更改數據?或者:如何手動將數據從字段保存到底層的Ember.js數據?

+0

請讓我知道如果我的回答沒有幫助你解決你的問題,所以我可以嘗試進一步改進並添加更多解釋或代碼示例 – intuitivepixel

+0

該示例幫助我100%,謝謝 –

回答

1

這裏就介紹如何改變文本框編程的值的例子:http://jsbin.com/ilewas/2/edit

現在的解釋一點點,餘燼不會,如果你使用普通的JavaScript像document.getElementById('myname').value = 'other';更改值要知道,一切都在灰燼是基於Ember.Object,所以你必須使用eighter數據綁定機制,或者直接在一個動作調用中使用內置的setter方法來設置值。

Dan Gebhardt的這非常good blog post深入地解釋了ember的對象模型是如何工作的。

希望它有幫助。

相關問題