<div id="content"></div>
<div id="content1"></div>
<h1>在javascript中存放模板</h1>
<div id="content2"></div>
<div id="content3"></div>
<h1>辅助方法</h1>
<div id="content4"></div>
<!-- test -->
<script id="test" type="text/html">
<h1>{{title}}</h1>
<ul>
{{each list as value i}}
<li>索引 {{i + 1}}:{{value}}</li>
<!--<li>索引 {{i + 1}}:{{#value}}</li>--> //加#就不原样输出,会执行标签
{{/each}}
</ul>
</script>

<script>
var data = {
title:'标签',
list:['<b>文艺</b>','博客','摄影','电影','民谣','旅行','吉他']
};
var html = template('test',data);
document.getElementById('content').innerHTML = html;
</script>

<!-- test1 -->
<script id="test1" type="text/html">
<p>不转义:{{#value}}</p>
<p>默认转义:{{value}}</p>
</script>

<script>
var data = {
value:'<span style="color:#f00">Hello World!</span>'
};
var html = template('test1',data);
document.getElementById('content1').innerHTML = html;
</script>

<!-- test2 -->
<script>
var source ='<p>{{title1}}</p>' + '<ul>'+
'{{each list as value i}}'+
'<li>索引{{i + 1}}:{{value}}</li>'+
'{{/each}}'+
'</ul>';

var render = template.compile(source);
var html = render({
title1:'模板方式',
list:['摄影','电影','民谣','旅行','吉他']
});
document.getElementById('content2').innerHTML = html;
</script>

<!-- test3 -->
<script id="test2" type="text/html">
<h1>{{title}}</h1>
{{include 'list'}}

</script>

<script id="list" type="text/html">
<ul>
{{each list as value i}}
<li>索引{{i + 1}}:{{value}}</li>
{{/each}}
</ul>
</script>

<script>
var data = {
title:'嵌入子模板',
list: ['文艺', '博客', '摄影', '电影', '民谣', '旅行', '吉他']
};
var html = template('test2',data);
document.getElementById('content3').innerHTML = html;
</script>

<!-- test4 -->
<script id="test3" type="text/html">
{{time | dateFormat:'yyyy年 MM月 dd日 hh:mm:ss'}}
</script>
<script>
template.helper('dateFormat',function(date,format){
date = new Date(date);

var map = {
"M":date.getMonth() + 1,
"d":date.getDate(),
"h":date.getHours(),
"m":date.getMinutes(),
"s":date.getSeconds(),
"q":Math.floor((date.getMonth() + 3)/3),
"S":date.getMilliseconds()
};
format = format.replace(/([yMdhmsqS])+/g,function(all,t){
var v = map[t];
if(v !== undefined){
if(all.length > 1){
v = '0' + v;
v = v.substr(v.length-2);
}
return v;
}
else if(t === 'y'){
return (date.getFullYear() + '').substr(4-all.length);
}
return all;
});
return format;
});
var data = {time:(new Date).toString(),};
var html = template('test3',data);
document.getElementById('content4').innerHTML = html;
</script>

<script>
var a = Math.floor(100.5);
alert(a);
</script>

javascript模板引擎之artTemplate 学习笔记的更多相关文章

  1. Java模板引擎之Freemarker 学习笔记 一

    什么是Freemarker Freemarker是模板引擎,不是Web框架,只是视图层的组件,官网是 https://freemarker.apache.org/ Freemarker原理 数据模型+ ...

  2. JavaScript模板引擎artTemplate.js——为什么使用模板引擎?

    作为一个工作一年的菜鸟,在公司做了几个外包项目,也接触到了不同形式的web开发.其实也没多少,就是javaweb开发和HTML5移动开发,这两者在页面展示的时候的解决方案还是有所不同的. 1.vo+e ...

  3. JavaScript模板引擎实例应用

    在之前的一篇名为<移动端基于HTML模板和JSON数据的JavaScript交互>的文章中,我向大家说明了为什么要使用JavaScript模板以及如何使用,文末还提到了laytpl.art ...

  4. JavaScript模板引擎

    JavaScript模板引擎实例应用   在之前的一篇名为<移动端基于HTML模板和JSON数据的JavaScript交互>的文章中,我向大家说明了为什么要使用JavaScript模板以及 ...

  5. JavaScript模板引擎实例应用(转)

    本文将举实例向大家讲解几个常用模板引擎的简单使用. 演示地址:模板引擎示例http://demo.52fhy.com/jstemp/ 准备工作 演示数据:blog.json结构: { "li ...

  6. 各种JS模板引擎对比数据(高性能JavaScript模板引擎)

    最近做了JS模板引擎测试,拿各个JS模板引擎在不同浏览器上去运行同一程序,下面是模板引擎测试数据:通过测试artTemplate.juicer与doT引擎模板整体性能要有绝对优势: js模板引擎 Ja ...

  7. JavaScript 模板引擎实现原理解析

    1.入门实例 首先我们来看一个简单模板: <script type="template" id="template"> <h2> < ...

  8. Javascript模板引擎mustache.js详解

    mustache.js是一个简单强大的Javascript模板引擎,使用它可以简化在js代码中的html编写,压缩后只有9KB,非常值得在项目中使用.本文总结它的使用方法和一些使用心得,内容不算很高深 ...

  9. JS模板引擎 :ArtTemplate (1)

    1.为什么需要用到模板引擎 我们在做前端开发的时候,有时候经常需要根据后端返回的json数据,然后来生成html,再显示到页面中去. 例如这样子: var data = [ {text: " ...

随机推荐

  1. java 简单的数据增删该查

    import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sq ...

  2. [转]Java Code Examples for android.util.JsonReader

    [转]Java Code Examples for android.util.JsonReader The following are top voted examples for showing h ...

  3. 【Eclipse】Tomcat 一直处于starting状态,项目却已成功启动

    是因为Eclipse里面设置了代理.preference-network connections-activity provider-direct-应用.重启tomcat即可.

  4. iOS弹出底部视图简单实现

    - 项目基本目录 其中xib文件用来自定义需要弹出的视图. 在主控制器里设置popview的frame等信息代码如下: 底部视图(popview)初始化放在父类视图的最顶部或者说是整个屏幕的最底部,宽 ...

  5. linux下安装greenplum

    1. 下载 Greenplum Database 源代码 $ git clone https://github.com/greenplum-db/gpdb 2. 安装依赖库 Greenplum Dat ...

  6. BZOJ 2654: tree( 二分 + MST )

    我们给白色的边增加权值 , 则选到的白色边就会变多 , 因此可以二分一下. 不过这道题有点小坑... ------------------------------------------------- ...

  7. Minimum Window Substring @LeetCode

    不好做的一道题,发现String Algorithm可以出很多很难的题,特别是多指针,DP,数学推导的题.参考了许多资料: http://leetcode.com/2010/11/finding-mi ...

  8. __autoload函数

    ./index.php----------------------------------------------------------------------------------<?ph ...

  9. 数据结构C语言版 表插入排序 静态表

    数据结构C语言版 表插入排序.txt两个人吵架,先说对不起的人,并不是认输了,并不是原谅了.他只是比对方更珍惜这份感情./*  数据结构C语言版 表插入排序  算法10.3 P267-P270  编译 ...

  10. java web从零单排第二十二期《hibernate》代码分析之查看,删除用户信息

    前两期的内容不知道大家理解的怎么样,我并没有详细的去解释代码的意思,如果你已经自己都钻研明白了,那最好过,但还是一知半解的话,接下来我会仔细分析代码. 1.register.jsp:这部分代码只是简单 ...