Javascript 頁面模板化 ——大部分人沒有使用過的方法


 
介紹
 
今天遇到一個問題,這個問題也是我以前遇到的問題,以前的方式,也是大多數人使用的方式。大家可以看看我的文章。
 
從前的方式——我估計也是大多數人使用的方式
 
比如以下的代碼——摘自新浪首頁的一段js代碼,這種方式也是大多數人使用的方式。

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

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

 

                                 

 

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

 

頁面模板化——全新的方式
 
這是我最近看了facebook的js代碼,偶然間發現以下的方式看起來不錯,希望與大家分享。
 
看我的index.html代碼

                                  看我的js代碼

 

                                  今天偶然間發現這種方式更加合理,因為那個for循環看着太鬧心了

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

 

 

后期修復
  
昨天我項目中需要條件篩選功能,所以我又做了一個 if語法解析的功能。
亮代碼:

                                   對應方法

 
首先很感謝大家的寶貴意見,現在就一些評論而發,大家勿見怪,沒有對大家評論不滿的意思。
  1、很多人都說已經有這種代碼框架了,但是我覺得為了幾個簡單功能用這么龐大的框架。而且我們現有的代碼外層已經有框架了,也許是jquery,也許是prototype.js,而且又把這種框架拿過來,這是何等的代碼量!
  2、我希望大家平時最好不要有復制代碼的習慣,最好是重新code一遍,即便是自己的代碼。——所以我一直用圖片方式 原因。
  3、我的代碼沒有必要整個都拿過去,你可以把上面的兩個方法拿過去放在自己的代碼中,就能用了。——你也可以自己修復一下代碼。
總結
  

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

當前的模板只支持簡單的變量替換,if標簽。如果大家有興趣,可以試着運行一下,如果做的比較成功,告知一下。

 

推薦
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM