淺談輕量級js模板引擎simplite
模板地址:https://github.com/zhangshaolong/simplite歡迎各位提出寶貴意見及貢獻代碼。特點:
1:代碼量少,學(xué)習(xí)成本低;
2:默認jsp語法標簽方式,熟悉jsp的朋友可以直接按照jsp的語法書寫模板;
3:使用原生js語法進行邏輯處理,只要熟悉js語法即可直接上手,沒有學(xué)習(xí)成本。
4:支持原生js的所有語法作為代碼邏輯片段,支持寬泛的書寫格式。
5:支持重定義模板語言的標簽符,默認的邏輯標簽為<%和%>,默認的屬性標簽為<%=和%>。
6:支持嵌套子模板,子模板默認(沒有傳遞數(shù)據(jù)參數(shù))是共享父模板數(shù)據(jù),可以通過傳參設(shè)置子模板使用的數(shù)據(jù)集。
7:支持動態(tài)導(dǎo)入模板與嵌入多個模板,只要導(dǎo)入的模板不是循環(huán)依賴的模板都能正常處理。
8:支持子模板使用Simplite.dataKey指定的字段訪問傳遞過來的數(shù)據(jù)全集,默認值為"_this",對于數(shù)組、數(shù)字這樣的數(shù)據(jù)集來說,使用Simplite.dataKey很容易拿到數(shù)據(jù)。
9:支持面向?qū)ο蠓绞绞褂媚0搴图冹o態(tài)函數(shù)方式來手動組織模板處理過程。
10:支持除了訪問父模板數(shù)據(jù)外,還可以提供方法作用域內(nèi)任何數(shù)據(jù)為數(shù)據(jù)集,比如在全局有個arr,那么可以include(tmplt, arr)來
語法:
可以看到,使用include的時候,可以使用子模板的時候,傳入指定的數(shù)據(jù)集作為數(shù)據(jù)源,對于復(fù)雜的多層結(jié)構(gòu)來說,能夠很好的控制每個模板的數(shù)據(jù)結(jié)構(gòu)。
相關(guān)文章
淺談JavaScript前端開發(fā)的MVC結(jié)構(gòu)與MVVM結(jié)構(gòu)
以AngularJS為代表的MVVM結(jié)構(gòu)框架或庫這兩年來在前端界真是火到不行,大有對抗傳統(tǒng)jQuery綁定思想的趨勢,這里我們結(jié)合傳統(tǒng)的MVC結(jié)構(gòu),來淺談JavaScript前端開發(fā)的MVC結(jié)構(gòu)與MVVM結(jié)構(gòu)2016-06-06Highcharts學(xué)習(xí)之數(shù)據(jù)列
數(shù)據(jù)列配置是 Highcharts 最復(fù)雜也是最靈活的配置,如果說 Highcharts 是靈活多變,細節(jié)可定制的話,那么數(shù)據(jù)列配置就是這個重要特性的核心。2016-08-08使用RequireJS庫加載JavaScript模塊的實例教程
RequireJS庫的主旨就是一個js文件的模塊加載器,可以獨立于框架來進行使用,這里我們整理了使用RequireJS庫加載JavaScript模塊的實例教程,需要的朋友可以參考下2016-06-06Three.js學(xué)習(xí)之文字形狀及自定義形狀
今天小編帶大家學(xué)習(xí)的是Three.js的文字形狀與自定義形狀,文章內(nèi)容很詳細,對大家學(xué)習(xí)Three.js或許有幫助,下面一起來看看吧。2016-08-08