Artlemplate 的常用方法| 学习笔记

简介: 快速学习 Artlemplate 的常用方法。

开发者学堂课程【Ajax 前端开发入门与实战Artlemplate 的常用方法】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/595/detail/8553


Artlemplate 的常用方法

 

artTemplate 的常用方法实例

1. 实例代码如下:

<! DOC TYPE html>

<html lang="en">

<head>

<meta charset="UTF-8">

<title>模板引擎</title>

<script type="text/javascript" src="./template.js"></script>

<script type="text/javascript">

window.onload = function(){

var data = {

title :"四大名著图书信息",

books:['三国演义,水浒传",西游记",'红楼梦']

};

}

</ script>

</head>

<body>

<div id=""container">

<h1>标题</h1>

<div>书名1</div>

<div>书名2</div>

<div>书名3</div>

</div>

</body>

</html>

div 下面的静态数据通过 data 动态数据进行填充,所以通过使用模板引擎;定义一个模板(生成一个 html 片段):

<script type="text/html" id="resultTemplate">

<h1>{{title}}</h1>

{{each books as value i}}

<div>{{value}}</div>

{{/each}}

</script>

模板传递代码传递:

<script type="text/javascript">

window.onload = function(){

var data = {

title :"四大名著图书信息",

books:['三国演义,水浒传",西游记",'红楼梦']

};

var html = template( "resultTemplate",data);

此时 html 片段就生成完成,接下来进行操作如下(找出容器):

var container = document.querySelector(""#container");

container.innerHTML = html;

最后运行代码结果如下:

四大名著图书信息

三国演义

水浒传

西游记

红楼梦

2.实例代码进行html模板生成

< ! DOCTYPE html>

<html lang="en">

<head>

<meta charset="UTF-8">

<title>Document</title>

<script type="text/javascript" src="./template.js"></script>

<script id="test" type="text/html">

{{if isAdmin}

<h1>iititle}}</h1>

<ul>

{{each listas value i}

<li>索引 {{i +1:{{value}}</li>

{{/each}}

</ul>

{/if)}

</script>

<script>

window.onload = function(){

var data = {

title:‘条件判断基本例子',

isAdmin: true,

list:['文艺,‘博客',‘摄影',‘电影','民谣','旅行','吉他']};

}</script>

</head>

添加代码进行html片段生成:

var html = template("test",data);

document.querySelector("#content).innerHTMNL =html;

添加执行后刷新效果如: 

条件判断基本例子

索引 1 文艺

索引 2 博客

索引 3 摄影

索引 4 电影

索引 5 民谣

索引 6 旅行

索引 7 吉他 

如果把 isAdmin 的值改为 false ,刷新界面将没有内容;因为有一个条件判断,只有 isAdmin 的值为 true 才会生成片段。

添加提示信息(将会出现提示信息界面):

{{/if}

{fif !isAdminI

<h1>没有任何数据</h1>

{{/if)}}

显示信息的总数量场景代码如下:

{{if isAdmin}}

<h1>{ititle}}</h1>

<h2>一共有{[1ist.length}条数据</h2>

<ul>

{feach list as value i}}

<li>索引i{i +1)): ffvalue})</li>

{{/each}}

</ul>

{{/if)}

把isAdmin的值改为true,执行代码结果为:

条件判断基本例子

一共有7条数据

索引 1 文艺

索引 2 博客

索引 3 摄影

索引 4 电影

索引 5 民谣

索引 6 旅行

索引 7 吉他 

另外一种操作:

<h1>{ititle}}</h1>

<h2>一共有{{count}}条数据</h2>

data.count = data.list.length;

var htmr = template("test",data);

document.querySelector( "#content").innerHTML = html;

执行代码结果如下:

条件判断基本例子

一共有7条数据

索引 1 文艺

索引 2 博客

索引 3 摄影

索引 4 电影

索引 5 民谣

索引 6 旅行

索引 7 吉他

3. 实例代码(举例)

<head>

<meta charset="UTF-8">

<title>Document</title>

<script type="text/javascript" src=". /template.js"></script>

<script id="test" type="text/html">

<ul>

{{each arr as value i}}

<li>{{value}}</li>

{{/each}}

</ul>

</script>

<script>

window.onload = function(){

var data=I['文艺',‘博客','摄影','电影',‘民谣',‘旅行',‘吉他'];

var temp={};

temp.arr=data;

template(“test”,data);

document.querySelector(“#content”).innerHTML=html;

}

</script>

</head>

<body>

<div id="content">

<ul>

<1i>文艺</i>

<li>博客</li>

</ul>

</div>

</body>

</html>

代码执行结果如下:

文艺

博客

摄影

电影

民谣

旅行

吉他

4.案例转义与不转义代码:

<html>

<head>

<meta charset="UTF-8">

<title>Document</title>

<script type="text/javascript" src="./template.js"></script>

<script id-"test" type="text/html">

<p>不转义:{{#value}}</P>

<p>默认转义:{{value}}</p>

</script>

<script>

window.onload = function({

//这里的数据当中包含特殊字符

var data = {

value:‘<span style="color : #FOo">hello world!</ span>

};

var html = template( 'test", data);

document.getElementById( ' content ').innerHTML = html;

}

</script>

</head>

<body>

<div id="content"></div>

</body>

</html>

执行代码结果如下:

不转义:hello world!

默认转义:<span style=”color:#F00”>hello wprld!</span>

4.知识回顾:

无论是 Ajax 还是跨域,目的都是为了获取服务器的数据,获取数据之后将前端界面进行渲染。怎么渲染前端界面呢﹖前端界面都是由标签构成的,所以前端界面的渲染主要做的就是生成 html 标签。

生成 html 标签我们可以通过拼接字符串的方式来实现。这种方式在标签结构比较复杂的情况之下很不好操作和后期的维护,并且容易出错。接下来就介绍一种技术叫做模板引擎,通过模板引擎我们可以很方便的生成 html_ 标签。

模板引擎的本质:将数据和模板结合起来生成 htal 片段。所以横板引擎需要两个组成部分﹔模板和数据,通过数据,将模板指定的标签动态生成,方便维护。

常见的模板引擎有很多,这里介绍一个效率最高的模板引擎 axtTeaplate ,这是腾讯公司出品的开源的模板引擎,在 github_ 上可以下载到源代码。 

5.使用步嘘如下:

1、引入 js 文件

2、定义模板

3、将数据和模板结合起来生成 html 片段

4、将 htal 片段渲染到界面中

基本语法:

得到数据中的值【[valuel }

循环操作{{each result as valu i }}{ {/each}}

转义:#的使用{{wvaluel}

条件判断{{if xxx}}{{/if}}

技巧:有时候有可能需要对原始数据进行加工操作

相关文章
|
1月前
|
存储 Java 索引
《令狐带你阅读JDK源码之简单集合ArrayList》
《令狐带你阅读JDK源码之简单集合ArrayList》
30 0
|
1月前
数组的常用方法
数组的常用方法
16 0
|
6月前
|
Java 索引
JAVA数组的常用方法
JAVA数组的常用方法
77 1
|
JavaScript
【JS面向对象编程常用方法】
【JS面向对象编程常用方法】
51 0
|
JavaScript 前端开发
数组常用方法
数组常用方法
64 0
|
存储 C# 索引
C#视频—集合常用方法
C#视频—集合常用方法
|
存储 人工智能 算法
唯一分解定理常用方法
唯一分解定理常用方法
117 0
|
Python
Python编程 列表的常用方法
Python编程 列表的常用方法
111 0
|
Java
Java集合Collection接口中的常用方法演示
由于接口不可以创建对象,所以,以下方法的演示将以Collection接口的子接口List的实现类ArrayList()进行演示。
112 0
Java集合Collection接口中的常用方法演示