有關JavaScript模板入門參考
比如要在一個列表中利用ajax插入一個li的時候,我會直接把數據跟html標籤拼接成一句完整的html,然後插入到ul中。無論數據是從服務器端拿回的,或者是從用户的input輸入中拿到的——無論哪種方法都是一樣。
這個拼接過程放在JavaScript文件中,顯得非常不優雅。如果還把style也放在JavaScript中,那數據、結構還有樣式整個就是一鍋粥了,要維護這樣的代碼會讓人想自殺。最過分的就是把頁面上最終要生成的HTML都直接放在服務器端,ajax吐出數據就包含了
標籤,這樣的頁面幾乎不存在擴展性了,修改一個前台樣式都要涉及後台代碼的修改。
後來我們知道了不要在JavaScript中對DOM進行style定製,而是隻需要在CSS文件中定義好對應的`class,然後在JavaScript中使用這個class就好。
接下來我們要做的就是用JavaScript模板把HTML結構(在這個案例中,是
標籤)也從JavaScript中分離。
市面上的JavaScript模板很多了,以handlebars這個優秀的模板為例吧:
我們在頁面的html中定義模板:
複製代碼 代碼如下:
{{title}}
然後在我們的邏輯JavaScript代碼中可以把數據拼接到這一模版中:
複製代碼 代碼如下:
var source = $("#list-template")(); //模板源,一般放在html的script中,這裏我們使用jQuery,也可以使用其它方法直接獲得內容字符串
var template = ile(source); //編譯生成一個模板template
var context = {title:"This is a todo item"} //獲得數據,數據一般從ajax或者input中取得
var html = template(context); //數據+模板=新的html
-
Dreamweaver技巧詳解
Dreamweaver由MX版本開始使用Opera軟件公司的排版引擎“Presto”作為網頁預覽。下面給大家介紹Dreamweaver技巧,一起來學習吧!Dreamweaver技巧詳解1、靈活運用樣式熟悉網頁設計的網友就知道,調用Style的方法很多,我們可以單擊鼠標右鍵選擇CustonStyle來調用Style...
-
高級PHP開發工程師崗位職責7篇
現如今,很多地方都會使用到崗位職責,崗位職責具有提高內部競爭活力,更好地發現和使用人才的作用。想學習制定崗位職責卻不知道該請教誰?以下是小編整理的高級PHP開發工程師崗位職責,僅供參考,希望能夠幫助到大家。高級PHP開發工程師崗位職責1工作職責:1、承擔機器學習...
-
水星路由器設置wap
用户請根據自己的寬帶接入方式,按照上面介紹的方法,安裝你的水星(Mercury)MW153R路由器。以下是小編為大家整理分享的水星路由器設置wap,歡迎閲讀參考。水星路由器設置wap本文介紹了水星(Mercury)MW153R無線路由器的安裝、上網設置以及無線網絡(Wi-Fi)的設置;一台...
-
Dedecms中常用數據調用的sql語句
本文實例彙總了Dedecms中常用數據調用的'sql語句。分享給大家供大家參考。具體如下:{dede:sqlsql="selectcount(*)ascfromdede_archiveswherechannel=1"}共有文章:[field:c/]篇{/dede:sql}{dede:sqlsql="selectcount(*)ascfromdede_archiveswherechannel=2"}共...