Javascript 頁面模板化很多人沒有使用過的方法

來源:互聯網
上載者:User

從前的方式——我估計也是大多數人使用的方式

比如以下的代碼——摘自新浪首頁的一段js代碼,這種方式也是大多數人使用的方式。

上面的代碼,你看完有什麼反應?你也許會把+=這種形式改成數組的push形式,有人說push比這種字元連結要快,但是也快不了多少。

如果這種嵌入的html代碼很多,你也要這樣處理嗎?如果修改(添加或者刪除)某個html,那麼你就要不斷的翻代碼,找對應的標籤,然後在找結束標籤,你不覺得麻煩嗎?也許有人會這樣寫(這個是我早期寫的,也是我最慣於使用的方式)。

上面的代碼,我維護起來也是非常費勁的,很多時候如果ui那邊添加了個標籤,或者修改了下html結構,那我就頭疼了。

頁面模板化——全新的方式

這是我最近看了facebook的js代碼,偶然間發現以下的方式看起來不錯,希望與大家分享。

看我的index.html代碼

看我的js代碼

維護上面的html代碼我們是很容易的,下次無論html代碼結構有什麼變動,改起來都很方便。

總結

上面的代碼有很多問題,大家不要見怪,這個只是我的簡易版。

當前的模板只支援簡單的變數替換,有很多功能未開發出來,比如if標籤,for標籤,如果大家有興趣,可以試著做一下,如果做的比較成功,告知一下。如果能做個類似smarty的開源架構,呵呵,咱們也可以為開源事業做點貢獻不是。

作者:穿山甲

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.