当前位置: 代码迷 >> 综合 >> artTemplate的简单用法
  详细解决方案

artTemplate的简单用法

热度:53   发布时间:2023-09-29 01:46:27.0

在实际开发中,我们会使用模板引擎来提高开发效率。而众多的模板引擎中,artTemplate无论就速度,兼容性还是使用人数上,都占绝对优势。这里我将简单地介绍下artTemplate的常见用法。

对于这其中涉及到的语法,我们只需要记住并且会用即可,不需要知道为什么这样用

用法一:使用渲染模板

需要先使用一个type="text/html"的script标签存放模板

1.简单的json数据

<!DOCTYPE html>
<html><head><meta charset="UTF-8"><title></title><script type="text/javascript" src="js/template.js" ></script></head><body><div id="container"></div><script type="text/html" id="div"><h1>{
    {name}}</h1><h2>{
    {age}}</h2></script><script type="text/javascript">var data = {name:"geekWeb",age:22}var html = template('div',data);document.getElementById("container").innerHTML = html;</script></body>
</html>
注:数据中的k用{ {}}包装!

2.带数组的json数据

<!DOCTYPE html>
<html><head><meta charset="UTF-8"><title></title><script type="text/javascript" src="js/template.js" ></script></head><body><div id="container"></div><script type="text/html" id="div"><h1>{
   {name}}</h1><ul>{
   {each lang as value i}}<li>语言{
   {i+1}}:{
   {value}}</li>{
   {/each}}</ul></script><script type="text/javascript">var data = {name:"前端语言",lang:['html','css','js']}var html = template('div',data);document.getElementById("container").innerHTML = html;</script></body>
</html>
注:通过each遍历数组,value和i分别表示值与索引,使用时千万注意:each中value和i的顺序性不能颠倒,先用value后用

3.数组中包含对象的json数据

<!DOCTYPE html>
<html><head><meta charset="UTF-8"><title></title><script type="text/javascript" src="js/template.js" ></script></head><body><div id="container"></div><script type="text/html" id="div"><h1>{
   {name}}</h1><ul>{
   {each lang}}<li>语言:{
   {$value.title}} 定义:{
   {$value.add}}</li>{
   {/each}}</ul></script><script type="text/javascript">var data = {name:"前端语言",lang:[{title:"html",add:"超文本标记语言"},{title:"css",add:"层叠样式表"},{title:"javaScript",add:"添加动态特效"}]}var html = template('div',data);document.getElementById("container").innerHTML = html;</script></body>
</html>
注:使用each遍历不需要value和i,但是在使用值的时候要用$value


用法二:使用渲染函数

不需要先使用script标签存放模板
<!DOCTYPE html>
<html><head><meta charset="UTF-8"><title></title><script type="text/javascript" src="js/template.js" ></script></head><body><div id="container"></div><script type="text/javascript">var data = {name:"geekWeb",age:22}var source = '<h1>{
    {name}}</h1>'+'<h2>{
    {age}}</h2>';var render = template.compile(source);var html = render(data);document.getElementById("container").innerHTML = html;</script></body>
</html>

可以理解成将渲染模板放在source中。其余数据用法一致!


  相关解决方案