javascript模板引擎之artTemplate 学习笔记

<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>

时间: 2024-11-12 00:03:34

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

JavaScript模板引擎学习分享

为了将数据库中的一组记录转换成HTML输出到界面上,大家都采用哪些做法呢? 在WebForm时代我们经常使用datagrid.repeater,当MVC问世后我们开始直接在视图上编写C#循环语句,而现在我更喜欢使用JavaScript模板引擎来生成HTML.因为这种做法的最大好处是实现了前后端代码的解耦,前端开发人员也无需了解太多的C#知识. 用法与示例: 第一步,在页面中引入JavaScript模板引擎: function template(str, data) { var strFunc =

JavaScript模板引擎

JavaScript模板引擎实例应用 在之前的一篇名为<移动端基于HTML模板和JSON数据的JavaScript交互>的文章中,我向大家说明了为什么要使用JavaScript模板以及如何使用,文末还提到了laytpl.artTemplate.doT.baiduTemplate.kissyTemplate等模板引擎. 本文将举实例向大家讲解几个常用模板引擎的简单使用. 演示地址:模板引擎示例http://demo.52fhy.com/jstemp/ 准备工作 演示数据:blog.json结构:

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

本文将举实例向大家讲解几个常用模板引擎的简单使用. 演示地址:模板引擎示例http://demo.52fhy.com/jstemp/ 准备工作 演示数据:blog.json结构: { "list": [ { "title": "这是title", "url": "http://www.cnblogs.com/52fhy/p/5271447.html", "desc": "摘要&

JS模板引擎 :ArtTemplate

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

发布一个开源极致的javascript模板引擎tpl.js

tpl.js(大家直接去https://git.oschina.net/tianqiq/tpl.js这个上面看) 简介 tpl.js是一个比较极致(极小,极快,极简单)的js模板引擎,可以在各种js环境中使用. 特性 1. 使用js作为模板语言,几乎无学习成本 2. 小巧,速度快到极致 3. 极简的语法,模板书写非常流畅 4. mit开源,无限制 语法说明 简述 tpl.js中模板语法中以行为单一,分为js行语句,和输出行语句.顾名思义,js行语句是编译时候会当做js执行的语句, 而输出行语句,

JavaScript模板引擎实例应用

http://www.cnblogs.com/52fhy/p/5393673.html artTemplate 这个还是比较有名的. 简介: artTemplate-3.0 新一代 javascript 模板引擎 https://github.com/aui/artTemplate template.js (简洁语法版, 2.7kb) 支持if等语句{{ if admin }} {{/if}} template(id, data) 根据 id 渲染模板.内部会根据document.getElem

Javascript模板引擎mustache.js详解

mustache.js是一个简单强大的Javascript模板引擎,使用它可以简化在js代码中的html编写,压缩后只有9KB,非常值得在项目中使用.本文总结它的使用方法和一些使用心得,内容不算很高深,纯粹是入门内容,看看即可.不过要是你还没有用过此类的javascript引擎库,那么本文还是值得你一读的,相信在你了解完它强大的功能和简单用法之后,一定会迫不及待地将之用于你的工作当中. 1. 从一个简单真实的需求讲起 目前公司做了一个统一的开发平台,后台封装了MVC的接口和数据增删改查的接口,前

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

最近做了JS模板引擎测试,拿各个JS模板引擎在不同浏览器上去运行同一程序,下面是模板引擎测试数据:通过测试artTemplate.juicer与doT引擎模板整体性能要有绝对优势: js模板引擎 JavaScript 模板引擎作为数据与界面分离工作中最重要一环,越来越受开发者关注,从而出现在各大型网站 Twitter.淘宝网.新浪浪微博.腾讯QQ空间.腾讯微博等.那么他们各自性能怎么样?请看下面. 通常模板引擎 baiduTemplate(百度)\artTemplate(腾讯)\juicer(淘

高性能JavaScript模板引擎原理解析

随着 web 发展,前端应用变得越来越复杂,基于后端的 javascript(Node.js) 也开始崭露头角,此时 javascript 被寄予了更大的期望,与此同时 javascript MVC 思想也开始流行起来.javascript 模板引擎作为数据与界面分离工作中最重要一环,越来越受开发者关注,近一年来在开源社区中更是百花齐放,在 Twitter.淘宝网.新浪微博.腾讯QQ空间.腾讯微博等大型网站中均能看到它们的身影. 本文将用最简单的示例代码描述现有的 javascript 模板引擎