`

js模板引擎laytpl的使用

阅读更多

     在我们实际的开发过程中,可能会遇到使用ajax去后台获取一堆的数据,然后动态的渲染到页面上。比如:去后台获取一个list集合,然后将数据以表格的形式展示在页面上。另外一种可能发生的情况就是页面上需要批量增加数据信息等等。如果我们前台使用html动态的拼接的话,不利于后期的维护,而且也不利于阅读。因此就需要一个前台模板引擎帮我们解决这个问题。

    laytpl是一个前端模板引擎,可以解决我们上面遇到的问题,并且使用简单,开发方便,模板渲染的效率也高。

    laytpl官方网址:  http://laytpl.layui.com/

一、laytpl的语法简单使用:

{{ d.field }} 输出文本,不转义html
{{= d.field }} 输出文本,转义html
{{# if(条件){ }} ...{{# }else{ }}...{{# } }} if else的写法
{{# for(循环的内容) { }}....{{# } }} for循环的写法

 

二、基于上方语法的一个小例子

     代码示例:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title>基本使用</title>
		<script type="text/javascript" src="../js/laytpl.js"></script>
	</head>
	<body>
		<!-- 1.编写模板 -->
		<script type="text/html" id="template">
			<h3> hello {{ d.world }} </h3>
			<h3> 你好: {{= d.redWorld }} </h3>
			<h3> if条件的使用 {{# if(d.sex=='0') {}} 男 {{# }else { }} 女 {{# } }}</h3>
			<h3> for循环的使用: </h3>
			<ul>
				{{# var num = 1;}}
				{{# for(var i=0;i<d.datas.length;i++){}}
					<li> {{d.datas[i].title}} -- {{num++}}</li>
				{{#}}}
			</ul>
		</script>
		
		<!-- 2.定义输出的视图 -->
		<div id="outputView"></div>
		
		<!-- 3.渲染模版 -->
		<script type="text/javascript">
			var data = {
				world : '<span style="color:red"> word </span>',
				redWorld : '<span style="color:red"> word </span>',
				sex : '1',
				datas : [{title:'文章一'},{title:'文章二'},{title:'文章三'},{title:'文章四'}]
			};
			laytpl(getById('template').innerHTML).render(data, function(html){
				getById('outputView').innerHTML = html;
			});
			
			function getById(id){
				return document.getElementById(id);
			}
		</script>
	</body>
</html>

    输出结果:
   

三、实现一个动态增加行和删除行的例子(模拟页面上的批量增加数据的操作)

     代码:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title>基本使用</title>
		<script type="text/javascript" src="../js/laytpl.js"></script>
		<style type="text/css">table,tr,td,th,thead,tbody{border-collapse: collapse;}</style>
	</head>
	<body>
		<!-- 1.编写模板 -->
		<script type="text/html" id="template">
			<tr>
				<td> <input type="text" name="username"/> </td>
				<td> 男:<input type="radio" name="sex" value="0"/> 女:<input type="radio" name="sex" value="1"/> </td>
				<td> <input type="text" name="age" value="{{d.age}}"/> </td>
				<td> <input type="button" value=" + " onclick="add(this)" /> <input type="button" value=" - " onclick="removeTr(this)" /> </td>
			</tr>
		</script>
		<!-- 2.定义输出的视图 -->
		<table border="1">
			<thead>
				<tr>
					<th>用户名</th>
					<th>性别</th>
					<th>年龄</th>
					<th>操作</th>
				</tr>
			</thead>
			<tbody id="outputView">
			</tbody>
		</table>
		<!-- 3.渲染模版 -->
		<script type="text/javascript">
			function loadTemplate(age){
				laytpl(getById('template').innerHTML).render({ age : age || 20 }, function(html){
					getById('outputView').innerHTML += html;
				});	
			}
			loadTemplate();
			function add($this){
				loadTemplate( Math.round(Math.random()*100) );
			}
			function removeTr($this){
				$this.parentNode.parentNode.remove();
			}
			function getById(id){
				return document.getElementById(id);
			}
		</script>
	</body>
</html>

   效果:
  

 

  
 


 

 

  • 大小: 22.1 KB
  • 大小: 22.9 KB
分享到:
评论

相关推荐

    laytpl JavaScript模板引擎 V1.1

    laytpl是一款颠覆性的JavaScript模板引擎,它用巧妙的实现方式,将自身的体积变得小巧玲珑,不仅性能接近极致,并且还具备传统js引擎的几乎所有功能。所有的变身魔法都由不到2KB的代码创造,laytpl视图用最轻量的...

    laytpl是一款非常轻量的JavaScript模板引擎

    总结来说,laytpl是一款以简洁和高性能为特点的JavaScript模板引擎,它遵循原生JS语法,易于学习和使用。在前端开发中,laytpl可以帮助我们高效地实现数据和视图的动态绑定,提升开发效率,是构建响应式Web应用的一...

    laytpl-JavaScript模板引擎 v1.1

    laytpl是一款颠覆性的JavaScript模板引擎,它用巧妙的实现方式,将自身的体积变得小巧玲珑,不仅性能接近极致,并且还具备传统前端引擎的几乎所有功能。所有的变身魔法都由不到1KB的代码创造,这仿佛是一场革命,又...

    laytpl-JavaScript模板引擎 v1.1.zip

    总之,laytpl作为一款高效的JavaScript模板引擎,它的v1.1版本在保持小巧体积的同时,提供了强大而易于使用的模板语法,使得前端开发人员能更加专注于数据和逻辑的处理,而非繁琐的DOM操作。通过熟练掌握laytpl,...

    laytpl-JavaScript模板引擎 v1.1-源码.zip

    总的来说,laytpl-JavaScript模板引擎v1.1的源码分析能够让我们深入理解前端模板引擎的内部运作,提升JavaScript开发技能,同时也为我们提供了自定义和优化模板引擎的可能性。通过阅读和学习源码,开发者可以更好地...

    laytpl使用示例

    laytpl是一款轻量级的前端模板引擎,由layui团队开发,主要用于HTML模板的解析与编译,提升前端开发效率。它的设计目标是简洁易用,让开发者能够快速地将数据渲染到HTML页面上。在本示例中,我们将深入探讨laytpl的...

    laytpl 精致巧妙的JavaScript模板引擎

    Laytpl是一款在JavaScript模板引擎界中具有颠覆性质的模板引擎。它之所以被称为颠覆性,是因为它不仅体积轻巧,而且在性能上达到了极致。Laytpl通过巧妙的实现方式,让模板引擎体积不到1KB,而性能则超越了许多知名...

    laytpl-JavaScript模板引擎源代码

    laytpl是一款颠覆性的JavaScript模板引擎,它用巧妙的实现方式,将自身的体积变得小巧玲珑,不仅性能接近极致,并且还具备传统前端引擎的几乎所有功能。所有的变身魔法都由不到1KB的代码创造,这仿佛是一场革命,又...

    浅谈layui使用模板引擎动态渲染元素要注意的问题

    首先,开发者在使用layui的模板引擎laytpl来动态渲染元素时,可能会发现在渲染完成后,一些元素的动画效果和事件绑定并不会立即生效。例如,在动态生成的菜单中,菜单的折叠动画和点击事件可能无法正常工作。这是...

    浅谈laytpl 模板空值显示null的解决方法及简单的js表达式

    在前端开发中,模板引擎是常见的数据绑定工具,laytpl 是 layui 框架提供的一款高效、简洁的模板引擎。本文将重点讨论如何解决 laytpl 模板在遇到空值时显示 "null" 的问题,以及如何在模板中使用简单的 JavaScript ...

    如何基于layui的laytpl实现数据绑定的示例代码

    在本示例中,我们将探讨如何使用 layui 的 laytpl 模板引擎来实现数据绑定。 laytpl 是 layui 提供的一个强大的模板引擎,它可以将 JSON 数据动态渲染到 HTML 结构中,适用于各种数据展示场景,如统计信息、详情页...

    PHP针对常规模板引擎中与CSS/JSON冲突的解决方法

    在PHP开发中,常规模板引擎如Smarty和Dwoo被广泛用于将静态HTML与动态数据结合,以生成可定制...同时,了解和掌握其他模板引擎如ejs、mustache.js、laytpl等的用法,可以帮助开发者在不同的场景下选择合适的解决方案。

    layuiAdmin循环遍历展示商品图片列表的方法

    首先,LayuiAdmin使用Layui框架提供的模板引擎laytpl来处理HTML模板和数据的渲染问题。Layui的模板引擎设计简洁,它允许开发者在HTML模板中使用特定的标记来指定动态内容的位置,然后通过JavaScript函数laytpl()将...

    【JavaScript源代码】javascript中layim之查找好友查找群组.docx

    `layui.each()` 遍历JSON数据,并使用laytpl模板引擎将数据插入到预定义的HTML结构中。 2. **HTML 结构**: - HTML模板用于显示每个用户的信息,包括头像(`&lt;img&gt;` 标签),用户名(`&lt;p&gt;` 标签),角色名,以及一...

    H-ui.admin_v2.3.1

    │ laytpl JavaScript模板引擎 │ My97DatePicker 日期插件 │ Validform 表单验证插件 │ zepto zepto库 │ ueditor 百度编辑器 │ Highcharts 图表插件 │ dataTables 表格排序,检索插件 │ WebUploader ...

Global site tag (gtag.js) - Google Analytics