template-web.js模板引擎框架

web前端模板引擎框架之一的template-web.js模板引擎框架,用于引入多条相同的数据。
步骤:
1.导入模板文件,这里是用的是art_template
2.写好模板,是待作为复制的对象,写在script中,type为text/hml,这样不会再页面中解析。
3.引入需要使用模板的数据。
4.填充

—简单替换模板内容,在需要更换内容地方写成{{name}}


填充语句:


结果展示:
在这里插入图片描述
-----if使用:需要判断一下选择哪个模板的时候,

//两组数据,属性名都是一样的,属性的内容都是不一样的。而用来输出的格式却又是一致的。
 var person1 = {
                male:'female',
                age:'18',
                name:'Susan',
                skill:'cooking'
            };
var person2 = {
                male:'male',
                age:'80',
                name:'Joffer',
                skill:'gardening'
            };

模板:用了两个li,分别在每个li中写好每组的模板名称,这是没有使用判断语句的模板,在页面中中会根据收到的数据对两个li都进行模板利用,这样就会输出两段,分别是女士和先生的,使用同一段数据显示两次。


结果:
template-web.js模板引擎框架_第1张图片
—使用if的改进写法。


分别调用并输出:

 console.log(template('template1',person1));
console.log(template('template1',person2));
 
 document.body.innerHTML = template('template1',person1);
 document.body.innerHTML += template('template1',person2);

结果显示,female的对于女士,male对应男士。功能 √
template-web.js模板引擎框架_第2张图片
—当数据对象中出现数组,并需要对数组中的数据一一进行调用并输出
数据:

 var person = {
            name:'三傻',
            family:['罗柏','二丫','布兰','雪诺']
      };

可以在第二条对应family中的li中加ol,因为family数组中有4个,在ol中再加4个li,每个li的待作模板的数据可以用[index]选出


结果显示:
template-web.js模板引擎框架_第3张图片
这是在仅有4个数值的情况,如果是多条或者不知道长度的时候,可以使用each语句进行复制。

 

其他代码不变
显示结果与之前一致

—当对象数据中包含数组,数组中包含对象,且此时需要对每个键值对对象输出。

{{$value.name}}---{{$value.title}}
// 因为最终要取得值在对象中,这样输出使得每一条对象中的每个键值都可以输出

模板:

 

输出结果:
template-web.js模板引擎框架_第4张图片数据部分:

 var person = {
            name:'三傻',
            brother:['罗柏','二丫','布兰','雪诺'],
            family:[
                {name:'dad',title:'WinterFall Lord'},
                {name:'Mother',title:'WinterFall Lady'}
            ]
      };

你可能感兴趣的:(模板引擎)