本文簡要講述了JsRender for object的基本語法。分享給大家供大家參考。具體如下:
JsRender 作為一款JavaScript模版引擎,必不可少的會(huì)有循環(huán)功能,也就是for,但由于JsRender過于靈活,for竟然可以接受object作為循環(huán)對(duì)象。
{{for Array}}和{{for Object}}都是允許的,{{for Array}}大家都能理解,就是遍歷一個(gè)數(shù)組,逐個(gè)取出每個(gè)元素。但{{for Object}}就有點(diǎn)讓人匪夷所思了,而且官方文檔只是舉了個(gè)沒什么幫助的例子,其他無任何說明。
剛開始小菜以為{{for Object}}的用意是遍歷該Object的所有屬性,但仔細(xì)一想,這個(gè)功能{{props Object}}已經(jīng)實(shí)現(xiàn)了,props標(biāo)簽的作用就是遍歷Object所有屬性,有多少個(gè)屬性,就循環(huán)多少次,每次循環(huán)都會(huì)有兩個(gè)隱藏的屬性:key,prop,key代表屬性名,prop代表屬性值,用起來非常方便。
實(shí)際上,{{for Object}}并不是循環(huán),它可以理解成進(jìn)入(Into),也就是說進(jìn)入到Object環(huán)境中,把當(dāng)前的上下文設(shè)置為Object,類似于Handlebars.js中的with。
舉個(gè)例子:
data:
template markup:
result:
從結(jié)果可以看出,雖然members的item下也有city屬性,但由于通過{{for address}}進(jìn)入到了address指向的Object中,{{:city}}直接從address中獲取了。
同時(shí),address有三個(gè)屬性,但結(jié)果只輸出了一行,證明{{for Object}}是不會(huì)循環(huán)的,僅僅是切換一下this。
希望本文所述對(duì)大家JsRender程序設(shè)計(jì)的學(xué)習(xí)有所幫助。
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注