ArtTemplate使用笔记

1.basic

<!DOCTYPE HTML>
<html><head><meta charset="UTF-8"><title>demo</title>
<script src="../template.js"></script>
</head>
<body>
<div id="content"></div>
<script id="test" type="text/html">
<% if (isAdmin) { %>

<h1><%=title%></h1>
<ul>
    <% for (var i = 0; i < list.length; i ++) { %>
        <li>索引 <%= i + 1 %>. <%= list[i] %></li>
    <% } %>
</ul>

<% } %>
</script>

<script>
var data = {
	title: '基本例子',
	isAdmin: true,
	list: ['文艺', '博客', '摄影', '电影', '民谣', '旅行', '吉他']
};
var html = template.render('test', data);
document.getElementById('content').innerHTML = html;
</script>
</body>
</html>

2.使用语法工具

<!DOCTYPE HTML>
<html><head><meta charset="UTF-8"><title>demo</title>
<script src="../template.js"></script>
<script src="../extensions/template-syntax.js"></script>
<script id="test" type="text/html">
{if isAdmin} 

<h1>{title}</h1>
<ul>
{each list}
   <li>索引{$index}. {$value}</li>
{/each}
</ul>

{/if}
</script>
<script>
var data = {
	title: '基本例子',
	isAdmin: true,
	list: ['文艺', '博客', '摄影', '电影', '民谣', '旅行', '吉他']
};
var html = template.render('test', data);
document.getElementById('content').innerHTML = html;
</script>
</body>
</html>


 

3.循环each的另一种写法——{each list as item index },这种很有用,我后来才知道。

<!DOCTYPE HTML>
<html><head><meta charset="UTF-8"><title>demo</title>
<script src="../template.js"></script>
<script src="../extensions/template-syntax.js"></script>
</head>
<body>
<div id="content"></div>
<script id="test" type="text/html">
{if isAdmin} 

<h1>{title}</h1>
<ul>
	{each list as item index}
	    <li>索引index.item</li>
	{/each}
</ul>

{/if}
</script>

<script>
var data = {
	title: '基本例子',
	isAdmin: true,
	list: ['文艺', '博客', '摄影', '电影', '民谣', '旅行', '吉他']
};
var html = template.render('test', data);
document.getElementById('content').innerHTML = html;
</script>
</body>
</html>


4.使用外部模板——include。

基本语法:

1.原始写法 <%include('外部模板名',[可选数据])%>;

2.使用语法工具 {include '外部模板名'  [可选数据] }。

这里的可选数据在糖饼的文档和例子里没有具体介绍,但是根据源码分析后,可以按照下面方式操作。

<!DOCTYPE HTML>
<html><head><meta charset="UTF-8"><title>demo</title>
<script src="../template.js"></script>
<script src="../extensions/template-syntax.js"></script>
</head>
<body>
<table id="content"></table>
<script id="inside" type="text/html">
	{each list as insideItem insideIndex}
	    <li>索引 {echo insideIndex} {echo insideItem.name}</li>
	{/each}
</script>

<script id="outside" type="text/html">
{each example as item index }
	
	{if item.isAdmin}
		<tr>
			<td>true:{echo item.title}</td>
			<td>
				{include 'inside' item}
			</td>
		</tr>
	{else}
		<tr>
			<td>false:{echo item.title}</td>
			<td>
				{include 'inside' item}
			</td>
		</tr>
	{/if}
	
{/each}
</script>
<script>
/*
	{$index}: {$value.name}
*/
var data = {
	example:
		[{
			title: '基本例子1',
			isAdmin: true,
			list: [
				{name:'文艺1'}, 
				{name:'博客1'}, 
				{name:'摄影1'}, 
				{name:'电影22'}, 
				{name:'民谣1'}, 
				{name:'旅行1'}, 
				{name:'吉他1'}
			]
		},{
			title: '基本例子2',
			isAdmin: false,
			list: [
				{name:'文艺2'}, 
				{name:'博客2'}, 
				{name:'摄影2'}, 
				{name:'电影2'}, 
				{name:'民谣3'}, 
				{name:'旅行2'}, 
				{name:'吉他2'}
			]
		}]
	
	};
var html = template.render('outside', data);
document.getElementById('content').innerHTML = html;
</script>
</body>
</html>






  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值