前端arttemplate模板引擎的用法

原生語法

使用原生語法亏娜,需要導入template-native.js文件焕窝。

在HTML中定義模板,注意模板的位置维贺,不要放到被渲染區(qū)域它掂,防止模板丟失。

<% for (var i = 0; i < products.length; i ++) { %>

<% var product =products[i]; %>

<% if (i < 3) { %>

  • 2015-02-09

    <%=product.name%>

    <%=product.description%>

    ¥ <%=formatPrice(product.promoPrice,'integer')%><%=formatPrice(product.promoPrice,'decimal')%>

    <% } %>

    <% } %>

    template(id, data)

    渲染數(shù)據(jù)到頁面

    $('#main_panel').html(template('main_panel_big_sale_template', data));

    簡潔語法

    使用簡潔語法溯泣,導入template.js文件虐秋。

    {{each products as product i}}

    {{if i < 3}}

  • 2015-02-09

    {{product.name}}

    {{product.description}}

    ¥ {{product.price.value | formatPrice: 'integer'}}{{product.price.value | formatPrice: 'decimal'}}

    {{/if}}

    {{/each}}

    渲染數(shù)據(jù)到頁面,和原生語法一樣

    $('#main_panel').html(template('main_panel_big_sale_template', data));

    調(diào)用外部函數(shù)

    template.helper

    上面的例子中垃沦,都調(diào)用了formatPrice函數(shù)客给,要調(diào)用此函數(shù)需要通過helper方法注冊:

    template.helper('formatPrice', function(price, type) {

    if(price){

    var arrayPrice = price.toString().split(".");

    if(type == 'integer') {

    return arrayPrice[0]?arrayPrice[0]:"0";

    }else if (type =='decimal') {

    return arrayPrice[1]?arrayPrice[1].length == 1?"."+arrayPrice[1]+"0":"."+arrayPrice[1]:".00";

    }

    }else{

    if(type == 'integer') {

    return "0";

    }else if (type =='decimal') {

    return ".00";

    }

    }

    });

    原生語法與簡潔語法比較

    語法類型調(diào)用外部函數(shù)

    原生<%=formatPrice(product.promoPrice,'integer')%>

    簡潔{{product.price.value | formatPrice: 'integer'}}

    簡潔語法的傳參有點奇怪,原生語法就很好理解栏尚,如果要傳遞三個參數(shù)起愈,簡潔語法該怎么寫呢?

    簡潔語法的循環(huán)如果要做更多邏輯译仗,也實現(xiàn)不了抬虽。

    推薦使用原生語法

    template.compile

    模板可以直接寫在JS中,再編譯渲染纵菌。

    var source = '

    '

    +? ? '<% for (var i = 0; i < list.length; i ++) { %>'

    +? ? ? ? '

    索引 <%= i + 1 %> :<%= list[i] %>

    '

    +? ? '<% } %>'

    + '';

    var render = template.compile(source);

    var html = render({list: ['攝影', '電影', '民謠', '旅行', '吉他']});

    document.getElementById('content').innerHTML = html;

    這種方式的的缺點是阐污,模板通過字符串拼接,不好維護咱圆,適合簡單模板笛辟。

    作者:ilaoke

    鏈接:http://www.reibang.com/p/483fa7f6f55b

    來源:簡書

    著作權歸作者所有。商業(yè)轉(zhuǎn)載請聯(lián)系作者獲得授權序苏,非商業(yè)轉(zhuǎn)載請注明出處手幢。

  • 最后編輯于
    ?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
    • 序言:七十年代末,一起剝皮案震驚了整個濱河市忱详,隨后出現(xiàn)的幾起案子围来,更是在濱河造成了極大的恐慌,老刑警劉巖匈睁,帶你破解...
      沈念sama閱讀 222,252評論 6 516
    • 序言:濱河連續(xù)發(fā)生了三起死亡事件监透,死亡現(xiàn)場離奇詭異,居然都是意外死亡航唆,警方通過查閱死者的電腦和手機胀蛮,發(fā)現(xiàn)死者居然都...
      沈念sama閱讀 94,886評論 3 399
    • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來糯钙,“玉大人粪狼,你說我怎么就攤上這事〕” “怎么了鸳玩?”我有些...
      開封第一講書人閱讀 168,814評論 0 361
    • 文/不壞的土叔 我叫張陵,是天一觀的道長演闭。 經(jīng)常有香客問我不跟,道長,這世上最難降的妖魔是什么米碰? 我笑而不...
      開封第一講書人閱讀 59,869評論 1 299
    • 正文 為了忘掉前任窝革,我火速辦了婚禮,結果婚禮上吕座,老公的妹妹穿的比我還像新娘虐译。我一直安慰自己,他們只是感情好吴趴,可當我...
      茶點故事閱讀 68,888評論 6 398
    • 文/花漫 我一把揭開白布漆诽。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪厢拭。 梳的紋絲不亂的頭發(fā)上兰英,一...
      開封第一講書人閱讀 52,475評論 1 312
    • 那天,我揣著相機與錄音供鸠,去河邊找鬼畦贸。 笑死,一個胖子當著我的面吹牛楞捂,可吹牛的內(nèi)容都是我干的薄坏。 我是一名探鬼主播,決...
      沈念sama閱讀 41,010評論 3 422
    • 文/蒼蘭香墨 我猛地睜開眼寨闹,長吁一口氣:“原來是場噩夢啊……” “哼胶坠!你這毒婦竟也來了?” 一聲冷哼從身側響起繁堡,我...
      開封第一講書人閱讀 39,924評論 0 277
    • 序言:老撾萬榮一對情侶失蹤涵但,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后帖蔓,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體矮瘟,經(jīng)...
      沈念sama閱讀 46,469評論 1 319
    • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
      茶點故事閱讀 38,552評論 3 342
    • 正文 我和宋清朗相戀三年塑娇,在試婚紗的時候發(fā)現(xiàn)自己被綠了澈侠。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
      茶點故事閱讀 40,680評論 1 353
    • 序言:一個原本活蹦亂跳的男人離奇死亡埋酬,死狀恐怖哨啃,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情写妥,我是刑警寧澤拳球,帶...
      沈念sama閱讀 36,362評論 5 351
    • 正文 年R本政府宣布,位于F島的核電站珍特,受9級特大地震影響祝峻,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜扎筒,卻給世界環(huán)境...
      茶點故事閱讀 42,037評論 3 335
    • 文/蒙蒙 一莱找、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧嗜桌,春花似錦奥溺、人聲如沸。這莊子的主人今日做“春日...
      開封第一講書人閱讀 32,519評論 0 25
    • 文/蒼蘭香墨 我抬頭看了看天上的太陽相满。三九已至,卻和暖如春桦卒,著一層夾襖步出監(jiān)牢的瞬間雳灵,已是汗流浹背。 一陣腳步聲響...
      開封第一講書人閱讀 33,621評論 1 274
    • 我被黑心中介騙來泰國打工闸盔, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人琳省。 一個月前我還...
      沈念sama閱讀 49,099評論 3 378
    • 正文 我出身青樓迎吵,卻偏偏與公主長得像,于是被迫代替她去往敵國和親针贬。 傳聞我的和親對象是個殘疾皇子击费,可洞房花燭夜當晚...
      茶點故事閱讀 45,691評論 2 361

    推薦閱讀更多精彩內(nèi)容