这里只引入一种模板引擎的介绍,更多方法可以查询文档
art-Template 模板引擎介绍 简介:
特性:
模板:
模板引擎的使用: 1.首先需要引入插件:
<script src="./template-web.js"></script>
2.语法:
{{value}} {{data.key}} {{data['key']}} {{a ? b : c}} {{a || b}} {{a + b}}
{{value}}
{{data.key}}
{{data['key']}}
{{a ? b : c}}
{{a || b}}
{{a + b}}
- 原始语法
<%= value %> <%= data.key %> <%= data['key'] %> <%= a ? b : c %> <%= a || b %> <%= a + b %>
<%= value %>
<%= data.key %>
<%= data['key'] %>
<%= a ? b : c %>
<%= a || b %>
<%= a + b %>
{{if value}} ... {{/if}} {{if v1}} ... {{else if v2}} ... {{/if}}
{{if value}} ... {{/if}}
{{if v1}} ... {{else if v2}} ... {{/if}}
<% if (value) { %> ... <% } %> <% if (v1) { %> ... <% } else if (v2) { %> ... <% } %>
<% if (value) { %> ... <% } %>
<% if (v1) { %> ... <% } else if (v2) { %> ... <% } %>
{{each target}} {{$index}} {{$value}} {{/each}}
{{each target}}
{{$index}} {{$value}}
{{/each}}
<% for(var i = 0; i < target.length; i++){ %> <%= i %> <%= target[i] %> <% } %>
<% for(var i = 0; i < target.length; i++){ %>
<%= i %> <%= target[i] %>
<% } %>
核心方法: template(filename, content): 根据模板名渲染模板。返回动态生成的页面结构
案例:使用模板引擎简写语法渲染首页
<html lang="en"><head> <meta charset="UTF-8"> <title>Hero - Admin</title> <link rel="stylesheet" href="./css/bootstrap.css"> <style> .hero-list img { width: 50px; height: 50px; display: block } .hero-list td { height: 50px; line-height: 50px; } </style></head><body> <header> <div class="page-header container"> <h1>王者荣耀 <small>英雄管理器</small></h1> </div> </header> <div class="container hero-list"> <table class="table table-hover"> <thead> <tr> <th>编号</th> <th>名称</th> <th>性别</th> <th>头像</th> <th>操作</th> </tr> </thead> <tbody id="tbody"> <tr> <td>1</td> <td>jack</td> <td>男</td> <td><img src="http://127.0.0.1:3002/images/1.jpg"></td> <td><a href="#">查看</a> <a href="javascript:;">修改</a> <a href="javascript:;">删除</a></td> </tr> </tbody> </table> </div> <!-- 下面创建页面动态结构所需要的模板 --> <!--type属性就是规范了里面的代码以何种语法进行解析 ,script默认的type为text/javascript,script有默认的type,如果设置类型为text/template,那么浏览器知道这不是js,也不会按js语法进行解析, 同时它还知道这是一个模板结构,所以会按模板结构的语法处理 --> <script type="text/template" id='listTemp'> {{each data as value index}} <tr> <td>{{i+1}}</td> <td>{{value.name}}</td> <td>{{value.gender}}</td> <td><img src="http://127.0.0.1:3002/images/{{value.img}}"></td> <td><a href="#">查看</a> <a href="javascript:;">修改</a> <a href="javascript:;">删除</a></td> </tr> {{/each}} </script> <!-- 引入jq --> <script src="./js/jquery.min.js"></script> <!-- 引入模板引擎 --> <script src="./js/template-web.js"></script> <script> $(function () { // 页面一加载就发起ajax请求 $.ajax({ type: 'get', url: 'http://127.0.0.1:3002/getalldata', dataType: 'json', success: function (result) { console.log(result) if (result.code == 200) { // 调用模板引擎,生成动态结构 var html = template('listTemp', result) // 将动态结构填充到页面指定结构 $('#tbody').html(html) } } }) }) </script></body></html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Hero - Admin</title>
<link rel="stylesheet" href="./css/bootstrap.css">
<style>
.hero-list img {
width: 50px;
height: 50px;
display: block
}
.hero-list td {
line-height: 50px;
</style>
</head>
<body>
<header>
<div class="page-header container">
<h1>王者荣耀 <small>英雄管理器</small></h1>
</div>
</header>
<div class="container hero-list">
<table class="table table-hover">
<thead>
<tr>
<th>编号</th>
<th>名称</th>
<th>性别</th>
<th>头像</th>
<th>操作</th>
</tr>
</thead>
<tbody id="tbody">
<td>1</td>
<td>jack</td>
<td>男</td>
<td><img src="http://127.0.0.1:3002/images/1.jpg"></td>
<td><a href="#">查看</a> <a href="javascript:;">修改</a>
<a href="javascript:;">删除</a></td>
</tbody>
</table>
<!-- 下面创建页面动态结构所需要的模板 -->
<!--type属性就是规范了里面的代码以何种语法进行解析 ,script默认的type为text/javascript,script有默认的type,如果设置类型为text/template,那么浏览器知道这不是js,也不会按js语法进行解析,
同时它还知道这是一个模板结构,所以会按模板结构的语法处理 -->
<script type="text/template" id='listTemp'>
{{each data as value index}}
<td>{{i+1}}</td>
<td>{{value.name}}</td>
<td>{{value.gender}}</td>
<td><img src="http://127.0.0.1:3002/images/{{value.img}}"></td>
</script>
<!-- 引入jq -->
<script src="./js/jquery.min.js"></script>
<!-- 引入模板引擎 -->
<script src="./js/template-web.js"></script>
<script>
$(function () {
// 页面一加载就发起ajax请求
$.ajax({
type: 'get',
url: 'http://127.0.0.1:3002/getalldata',
dataType: 'json',
success: function (result) {
console.log(result)
if (result.code == 200) {
// 调用模板引擎,生成动态结构
var html = template('listTemp', result)
// 将动态结构填充到页面指定结构
$('#tbody').html(html)
})
</body>
</html>
原文链接:http://www.cnblogs.com/xjs-hp/p/14044404.html
本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728