前端模版artTemplate的介绍及使用

用artTemplate已经有一段时间了,也是在比较了几款前端模版引擎之后决定使用它,因为它的使用方便以及性能卓越,所以一直使用,关于它的介绍以及性能大家可以移步 http://cdc.tencent.com/?p=5723

        今天这里主要是说下其使用方式,光说不练也是没有任何效果的。artTemplate的github是:https://github.com/aui/artTemplate,大家有需要深度了解的可以去看看,上面有其简单的使用方法,这里我结合自己的使用扩展下。

artTemplate的库分为两种,一个是template.js,一个是template-native.js,第一个是简洁语法版,第二个是原生语法(感觉像JSP)版,两个库的语法是不一样的,大家不要混用,否则会报错的。下面这两种分别做使用说明:

1.简洁语法版:

[javascript] view plain copy
  1. </pre><pre name="code" class="javascript"><script id="test" type="text/html">  
  2. {{if admin}}  
  3.     {{each list as value index}}  
  4.         <div>{{index}}:{{value}}</div>  
  5.     {{/each}}  
  6. {{else if}}  
  7. 条件判断  
  8. {{/if}}  
  9. </script>  
2.原生语法版:

[javascript] view plain copy
  1. <script id="test" type="text/html">  
  2. <%if(admin){%>  
  3.     <% for(var i=0; i<list.length; i++){%>  
  4.         <div><%=i%>:<%=list[i].value%></div>  
  5.     <%}%>  
  6. <%}else{%>  
  7.     <div>没有结果!</div>  
  8. <%}%>  
  9. </script>  

然后在JS中:

[javascript] view plain copy
  1. var data = {  
  2.                 list : ["第一个元素","第二个元素"]  
  3.             };  
  4. var html = template.render('test',data);  
  5. document.getElementById("content").innerHTML = html;  
这里在html中的用法,当然artTemplate还提供了放在javascript文件的中方法,这里需要定义一个变量把模版装起来,然后artTemplate会获取这个变量的模版内容进行渲染:

[javascript] view plain copy
  1. var apply_list = '{{each list as his}}'+  
  2.             '<li data-apply-id="{{his.id}}">'+  
  3.                 '<ul class="shop-attr-lst group">'+  
  4.                     '<li>店铺名:<a href="javascript:;">{{his.shop_name}}</a></li>'+  
  5.                     '<li>账户余额:{{his.shop_balance}}元</li>'+  
  6.                 '</ul>'+  
  7.             '</li>'+  
  8.          '{{/each}}';  
然后在JS中:

[javascript] view plain copy
  1. var data = {   
  2.     list:[  
  3.         {"id":1,"shop_name":"123","shop_balance":5000},  
  4.         {"id":2,"shop_name":"12344","shop_balance":500}  
  5.     ]  
  6. }  
  7. var render = template.compile(apply_list);  
  8. var html = render(data);  
  9. $("#content").html("").html(html);  
当然这些只是artTemplate最基础的用法,artTemplate还有更多的功能等你去发现,有了它,前端开发越来越流畅了!
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Art-template是一款高性能、轻量级的模板引擎,适用于Node.js和浏览器环境。它以简洁明了的语法,支持模板继承、条件判断、循环遍历等常见功能,同时还提供了强大的过滤器和自定义标签功能。 Art-template使用逻辑如下: 1. 安装Art-template 可以通过npm安装Art-template,命令如下: ```npm install art-template --save``` 2. 引入Art-template 在Node.js中,可以使用require语句引入Art-template: ```const template = require('art-template');``` 在浏览器中,可以使用script标签引入Art-template: ```<script src="path/to/art-template.js"></script>``` 3. 编写模板 Art-template使用{{}}包裹变量、表达式或语句。例如,以下是一个简单的模板: ``` <!DOCTYPE html> <html> <head> <title>{{title}}</title> </head> <body> <h1>{{title}}</h1> <p>{{content}}</p> </body> </html> ``` 4. 渲染模板 使用template方法可以将模板渲染成字符串。例如: ``` const template = require('art-template'); const data = { title: 'Art-template', content: 'A lightweight and powerful template engine' }; const html = template('path/to/template', data); console.log(html); ``` 在上面的例子中,我们将data对象传递给了模板,使用{{}}包裹的变量会被替换成data对象中的对应值,最终输出渲染后的HTML字符串。 5. 高级用法 除了基本的变量替换,Art-template还支持模板继承、条件判断、循环遍历等高级用法。例如,以下是一个使用if语句和each语句的模板: ``` {{if isAdmin}} <p>Welcome, admin</p> {{else}} <p>Welcome, user</p> {{/if}} <ul> {{each list}} <li>{{$index}}. {{$value}}</li> {{/each}} </ul> ``` 以上就是Art-template使用逻辑,希望能对你有所帮助。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值