art-template模板渲染及其过滤器

原生语法

  使用原生语法,需要导入template-native.js文件。在HTML中定义模板,注意模板的位置,不要放到被渲染区域,防止模板丢失。

 1 <script id="tpl" type="text/html">
 2     <% for (var i = 0; i < products.length; i ++) { %>
 3         <% var product =products[i]; %>
 4         <% if (i < 3) { %>
 5             <li>
 6                 <img src="<%=getImageUrl(product.pictographicIconList[0].image.url)%>" data-imgname="<%=product.pictographicIconList[0].image.url%>">
 7                 <div class="flash-time-box">
 8                     <span>2015-02-09</span>
 9                 </div>
10                 <strong class="marque"><%=product.name%></strong>
11                 <strong class="libelle"><%=product.description%></strong>
12                 <div class="no-picto">
13                     <span class="prod-tip">
14                         <img src="img/grey.png" data-original="img/icon.png">
15                     </span>
16                     <span class="italic black">
17                         <span class="cny-curr">¥&nbsp;<%=formatPrice(product.promoPrice,'integer')%></span><span class="decimal"><%=formatPrice(product.promoPrice,'decimal')%></span>
18                     </span>
19                 </div>
20             </li>
21         <% } %>
22     <% } %>
23 </script>

template(id, data)

  渲染数据到页面

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

简洁语法

  使用简洁语法,导入template-web.js文件。

 1 <script id="tpl" type="text/html">
 2    {{each products as product i}}
 3    {{if i < 3}}
 4        <li>
 5            <img src="{{product.pictographicIconList[0].image.url | getImageUrl}}" data-imgname="{{product.pictographicIconList[0].image.url}}">
 6            <div class="flash-time-box">
 7                <span>2015-02-09</span>
 8            </div>
 9            <strong class="marque">{{product.name}}</strong>
10            <strong class="libelle">{{product.description}}</strong>
11            <div class="no-picto">
12                 <span class="prod-tip">
13                     <img src="img/grey.png" data-original="img/icon.png">
14                 </span>
15                 <span class="italic black">
16                     <span class="cny-curr">¥&nbsp;{{product.price.value | formatPrice: 'integer'}}</span><span class="decimal">{{product.price.value | formatPrice: 'decimal'}}</span>
17                 </span>
18            </div>
19        </li>
20    {{/if}}
21    {{/each}}
22 </script>

  渲染数据到页面,和原生语法一样

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

  如果是下边的这种渲染方式

$('#main_panel').html(template('tpl', data.products)); // 传入的是数组

  那么在each循环中就应该为:{{each $data as product i }}

 

 

art-template 条件表达式

{{if admin}}
    <p>admin</p>
{{else if code > 0}}
    <p>master</p>
{{else}}
    <p>error!</p>
{{/if}}

 

 模板包含表达式

  用于嵌入子模板。

{{include 'template_name'}}

  子模板默认共享当前数据,亦可以指定数据:

{{include 'template_name' news_list}}

 

art-template过滤器

 语法:

template.defaults.imports.过滤器名称 = function(date){
    过滤器的内容
    一定要注意 需要一个返回值
};

   

 

转载于:https://www.cnblogs.com/xiaoyaoxingchen/p/8418000.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值