2013-06-13 51 views
1

我有一個項目,通過ajax請求加載部分內容。我每次都得到相同的信息結構(json),我試圖爲每個呈現這些結構的DOM-Layout製作一個coffeescript類。處理很多DOM變化

進出口工作在這些結構的第一DOM的表示,我的代碼是像controls.append @Legende.content.messageSpan@Legende.content.itself.append $(labelNew).html "Name: "

問題炸燬的語句:有以下3個DOM的表示我要實現,這將炸燬我的代碼。

我的問題如下:處理許多DOM樹更改和/或防止擴大文件數量和增加文件大小的主要做法是什麼?

+0

如果您沒有使用任何模板引擎,則必須一步步操作DOM。 – Amberlamps

+0

我以爲我使用類作爲模板與父DOM元素作爲param在我的構造函數中引用一個節點在哪裏附加我所有的元素。但是,這些是巨大的類和方法 – Felix

回答

0

如果您確實有大量基於底層模型變化的DOM更改,最好使用一個庫,它允許您在不需要顯式更改的情況下隱式綁定您的DOM。這是最流行的庫2

  • knockoutjs這是否和別的
  • angularjs這是否和很多其他的東西,你可能會或可能不會需要

KnockoutJS更簡單,更平易近人。

角度看起來更復雜一些,但隨着項目變大,規模也不錯。

這些庫中加入註釋的工作原理爲HTML這樣的(基於淘汰賽爲例)

​​

您可以設置但是DOM你喜歡,它會自動改變,以反映您已經綁定了數據。

+0

另外,有用的變體 - 綁定DOM和模型的Backbone + Marionnette + ModelBinder –

+0

@IvanAntropov肯定。你可以不停地列出這些。 –

+0

你有沒有什麼angularjs帶來更多的例子? – Felix