2012-02-07 27 views
1

QQ:如何在點擊按鈕時更新對象的屬性以匹配視圖中元素的innerHtml?從EmberJS中的視圖設置(綁定)模型對象屬性...以編程方式?

我工作的建設使用EmberJS和HTML5 contenteditable屬性,(通過Hallo editor)內容編輯界面。這意味着valueBinding並沒有這樣做,因爲我們正在處理實際的頁面HTML,而不是input/textarea值屬性。我在Backbone中構建了一個類似的應用程序,它缺少動態綁定,但允許您將模型對象設置爲視圖的屬性。

什麼得到這個工作與EmberJS的最佳方式?我應該在視圖上爲整個模型設置屬性嗎?我是否需要創建一些innerHtml綁定和查看幫助器,模擬valueBinding?

我已經設置了什麼,我試圖做一個例子的小提琴(基本jQuery的搬運CONTENTEDITABLE屬性,而不是喂):

http://jsfiddle.net/W6gsW/2/

謝謝!

+0

你可能會發現你的框架的選擇是在複雜的你想達到的目標。 Ember沒有意圖冒犯。 – 2012-02-07 07:04:47

+0

感謝您的觀點,@tnt。我實際上在Backbone和Ember中構建了相同的應用程序,作爲比較兩者的一種方式。 Ember看起來似乎有更多的便利功能,但在這方面Backbone的極簡主義似乎可能是一種好處。 – 2012-02-07 13:32:29

回答

0

http://jsfiddle.net/ud3323/nXCvq/

我確實改變了你如何定義在App.docView的綁定,以使事情更清潔的幾件事情。我的解決方案確實感覺很亂,但它適用於每個屬性的一行代碼。

+0

謝謝@ ud3323。不幸的是,代碼似乎並沒有爲我工作:如果我編輯HTML然後單擊「保存」信息觀察員不會觸發,兩個HTML元素的文本被替換爲「對象文本」! – 2012-02-07 20:48:25

+0

已更新。對不起,我有點匆忙...... :) – 2012-02-07 23:25:24

+0

謝謝@ ud3323,這完美的作品。總之,看起來解決方案是綁定在內容對象上,而不是它的單個屬性,並且在視圖中使用setPath方法來設置屬性值的變化。搖滾! – 2012-02-08 18:52:15

相關問題