jquery.tmplate模板引擎使用心得
jquery.tmpl.js,是與jquey共同使用的html模板插件。該插件可通過簡單的語法將數據放入到html模板中,可以很好的將數據渲染到頁面上。該插件在本項目中使用較多且網上的講解比較分散,無系統的api以及使用方法可以查詢,故將jquery.tmpl.js的api整理出來,以方便大家使用。
在使用之前一定要先加載jquery,並把jquery.tmpl.js加載進來
一、目前使用比較多的api如下:
1、判斷類語法
1).{{if}}語法
該語法很好理解與使用。主要用作判斷。在{{if}}中加入判斷條件,如果滿足該條件就會執行之後的函數,否則就不會執行。舉個例子:
{{if a == 10 }}
<p>例子</p>
{{/if}}
在該例子中,只有當a = 10 的情況纔會出現頁面中才會出現<p>例子</p>這個標籤,否則不會;另外一點,就是在使用jquery.tmpl.js的api的時候,一定要有閉合,如例子所示,一定要使用{{/if}}來對上面語法進行閉合,否則無法實現該語法;
切記:一定要閉合;
2).{{else}}語法
既然存在{{if}}語法了,肯定也是會存在{{else}}語法的了,該語法的作用是在不滿足在{{if}}中條件的時候才需要{{else}}語句,與javascript的語法很形似,同時,{{else}}語句與{{if}}語句同時存在。舉個例子:
{{if a == 10}}
<p>例子一</p>
{{else}}
<p>例子二</p>
{{/if}}
在例子中,只有當 a = 10 的時候,頁面中才會出現標籤<p>例子一</p>,否則會出現標籤<p>例子二</p>,
在{{if}}之中是一定需要{{/if}}標籤來閉合的,但是{{else}}是不需要書寫閉合的。
3).${}語法
該語法主要用於簡短的判斷,一般適用於三目運算符。主要爲 a==b ? a1 = 1: a1 = 2; 該語法也是用於判斷是否符合條件,如果符合則執行前面的,否則會執行後面的;同時該語法內可以直接書寫三目運算符。舉個例子:
<span>${a ? 10 : 20}</span>
該段語法的意思爲如果a存在,則<span></span>標籤內的數據爲10.否則爲20;
2、循環類語法
4).{{each}}語法
該語法與javascript類似,起到循環的作用,可以對其後的數據進行遍歷,然後將遍歷的數據進行一系列的操作,另外從each中取得數據時經常與${}混合使用。同時,該語法也是需要進行閉合的。舉個例子:
{{each(key,value),arr}}
<li>${value}</li>
{{/each}}
該段語法的作用爲將arr進行遍歷,並將其中每個屬性的value放入到li中,同樣,each語法也是需要閉合的。
3、使用類語法
$(selectpr).tmpl(data)
$(selector)爲選擇到的html模板,tmpl()之中的data就是所要傳入html模板的數據;舉個例子:
<div>
{{if data}}
<ul>
{{each(index,value) data}}
<li class='${index.className}'>${index}</li>
{{/each}}
</ul>
{{/if}}
<span>{rows.data}</span>
</div>
將上部文件作爲html模板時在js中使用
使用:$(html模板的名字).tmpl(res);
實際上res爲{
"data":[12,23,12,12],
"rows":{'data':'1212121'},
"message": 0
}
主要就是tmpl中的是數據,而且傳過去的數據就可以直接在裏面獲取相應的值,然後對值進行操作。
以上語法基本爲在項目中使用較多的,其餘還有一些api,包括{{html}}、{{wrap}}等,但是使用範圍並不廣,故不多做介紹。
二、以上爲日常開發使用模板中使用較多的api。jquery.tmpl.js在好用的同時也存在一些缺陷,其中比較明顯的就是,
1、"="問題
將變量賦值作爲模板放入標籤之中後,如果其中存在=的話,一定要在=的左右兩邊全部加上空格,否則會出現很多比較詭異的現象
三、結語:
該文章爲本人純手碼,將知識整理並彙總,希望看到的小夥伴能從中得到一些收穫;
------------@pandaClose
在使用之前一定要先加載jquery,並把jquery.tmpl.js加載進來
一、目前使用比較多的api如下:
1、判斷類語法
1).{{if}}語法
該語法很好理解與使用。主要用作判斷。在{{if}}中加入判斷條件,如果滿足該條件就會執行之後的函數,否則就不會執行。舉個例子:
{{if a == 10 }}
<p>例子</p>
{{/if}}
在該例子中,只有當a = 10 的情況纔會出現頁面中才會出現<p>例子</p>這個標籤,否則不會;另外一點,就是在使用jquery.tmpl.js的api的時候,一定要有閉合,如例子所示,一定要使用{{/if}}來對上面語法進行閉合,否則無法實現該語法;
切記:一定要閉合;
2).{{else}}語法
既然存在{{if}}語法了,肯定也是會存在{{else}}語法的了,該語法的作用是在不滿足在{{if}}中條件的時候才需要{{else}}語句,與javascript的語法很形似,同時,{{else}}語句與{{if}}語句同時存在。舉個例子:
{{if a == 10}}
<p>例子一</p>
{{else}}
<p>例子二</p>
{{/if}}
在例子中,只有當 a = 10 的時候,頁面中才會出現標籤<p>例子一</p>,否則會出現標籤<p>例子二</p>,
在{{if}}之中是一定需要{{/if}}標籤來閉合的,但是{{else}}是不需要書寫閉合的。
3).${}語法
該語法主要用於簡短的判斷,一般適用於三目運算符。主要爲 a==b ? a1 = 1: a1 = 2; 該語法也是用於判斷是否符合條件,如果符合則執行前面的,否則會執行後面的;同時該語法內可以直接書寫三目運算符。舉個例子:
<span>${a ? 10 : 20}</span>
該段語法的意思爲如果a存在,則<span></span>標籤內的數據爲10.否則爲20;
2、循環類語法
4).{{each}}語法
該語法與javascript類似,起到循環的作用,可以對其後的數據進行遍歷,然後將遍歷的數據進行一系列的操作,另外從each中取得數據時經常與${}混合使用。同時,該語法也是需要進行閉合的。舉個例子:
{{each(key,value),arr}}
<li>${value}</li>
{{/each}}
該段語法的作用爲將arr進行遍歷,並將其中每個屬性的value放入到li中,同樣,each語法也是需要閉合的。
3、使用類語法
$(selectpr).tmpl(data)
$(selector)爲選擇到的html模板,tmpl()之中的data就是所要傳入html模板的數據;舉個例子:
<div>
{{if data}}
<ul>
{{each(index,value) data}}
<li class='${index.className}'>${index}</li>
{{/each}}
</ul>
{{/if}}
<span>{rows.data}</span>
</div>
將上部文件作爲html模板時在js中使用
使用:$(html模板的名字).tmpl(res);
實際上res爲{
"data":[12,23,12,12],
"rows":{'data':'1212121'},
"message": 0
}
主要就是tmpl中的是數據,而且傳過去的數據就可以直接在裏面獲取相應的值,然後對值進行操作。
以上語法基本爲在項目中使用較多的,其餘還有一些api,包括{{html}}、{{wrap}}等,但是使用範圍並不廣,故不多做介紹。
二、以上爲日常開發使用模板中使用較多的api。jquery.tmpl.js在好用的同時也存在一些缺陷,其中比較明顯的就是,
1、"="問題
將變量賦值作爲模板放入標籤之中後,如果其中存在=的話,一定要在=的左右兩邊全部加上空格,否則會出現很多比較詭異的現象
三、結語:
該文章爲本人純手碼,將知識整理並彙總,希望看到的小夥伴能從中得到一些收穫;
------------@pandaClose
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.