看了Mustache的github,学学此中的语法,做个笔记

1.简单的变量调换:{{name}}

1 var data = { "name": "Willy" };

2 Mustache.render("{{name}} is awesome.",data);

返回成果 Willy is awesome.

2.若是变量含有html的代码的,比如:<br>、<tr>等等而不想转义能够在用{{&name}}

1 var data = {

2 "name" : "<br>Willy<br>"

3 };

4 var output = Mustache.render("{{&name}} is awesome.", data);

5 console.log(output);

成果:<br>Willy<br> is awesome.

去掉"&"的成果是转义为:&lt;br&gt;Willy&lt;br&gt; is awesome.(默认将"<"和">"转义)

3.若是是对象,还能申明其属性

 1 var data = {

2 "name" : {

3 "first" : "Chen",

4 "last" : "Jackson"

5 },

6 "age" : 18

7 };

8 var output = Mustache.render(

9 "name:{{name.first}} {{name.last}},age:{{age}}", data);

10 console.log(output);

成果:name:Chen Jackson,age:18

4.{{#param}}这个标签非常强大,有if断定、forEach的功能。

1 var data = {

2 "nothin":true

3 };

4 var output = Mustache.render(

5 "Shown.{{#nothin}}Never shown!{{/nothin}}", data);

6 console.log(output);

若是nothin是空或者null,或者是false都邑输出Shown.相反则是Shown.Never shown!。

5.迭代

 1 var data = {

2 "stooges" : [ {

3 "name" : "Moe"

4 }, {

5 "name" : "Larry"

6 }, {

7 "name" : "Curly"

8 } ]

9 };

10 var output = Mustache.render("{{#stooges}}<b>{{name}}</b>{{/stooges}}",

11 data);

12 console.log(output);

输出:<b>Moe</b>

<b>Larry</b>

<b>Curly</b>

6.若是迭代的是数组,还能够用{{.}}来调换每一个元素

1 var data = {

2 "musketeers" : [ "Athos", "Aramis", "Porthos", "D""Artagnan" ]

3 };

4 var output = Mustache.render("{{#musketeers}}* {{&.}}{{/musketeers}}",

5 data);

6 console.log(output);

输出:* Athos

* Aramis

* Porthos

* D""Artagnan

7.迭代输出的还可所以一个function返回的成果,function能够读取当前变量的高低文来获取其它属性履行其它操纵

 1 var data = {

2 "beatles" : [ {

3 "firstName" : "John",

4 "lastName" : "Lennon"

5 }, {

6 "firstName" : "Paul",

7 "lastName" : "McCartney"

8 }, {

9 "firstName" : "George",

10 "lastName" : "Harrison"

11 }, {

12 "firstName" : "Ringo",

13 "lastName" : "Starr"

14 } ],

15 "name" : function() {

16 return this.firstName + " " + this.lastName;

17 }

18 };

19 var output = Mustache

20 .render("{{#beatles}} *{{name}}{{/beatles}}", data);

21 console.log(output);

输出: *John Lennon

*Paul McCartney

*George Harrison

*Ringo Starr

8:办法里面能够再履行变量中的表达式

 1 var data = {

2 "name" : "{{age}}" + "Tater",

3 "bold" : function() {

4 return function(text, render) {

5 console.log(text);

6 return "<b>" + render(text) + "</b>";

7 };

8 },

9 "age" : 18

10 };

11 var output = Mustache.render("{{#bold}}Hi {{name}}.{{/bold}}", data);

12 console.log(output);

输出成果:

Hi {{age}}Tater.
<b>Hi 18Tater.</b>

9.{{^}}与{{#}}相反,若是变量是null、undefined、 false、和空数组讲输出成果

10.{{!  }}凝视

原文地址http://www.mysjtu.com/page/M0/S733/733819.html

Mustache.js语法的更多相关文章

  1. Mustache.js语法学习笔记

    原文地址:http://www.cnblogs.com/flypig88/archive/2012/05/14/2497780.html 看了Mustache的github,学学其中的语法,做个笔记 ...

  2. mustache.js

    mustache.js 是一个 Mustache 模板系统的 JavaScript 实现. Mustache 模板语法的逻辑比较简单.它用于HTML,配置文件,源代码等.它的工作方式是通过通过以哈希值 ...

  3. mustache.js使用基本(三)

    作者:zccst 本节要点是子模块(partials)和分隔符(delimiter)等 1,子模块(partials) /* {{>partials}}以>开始表示子模块,如{{> ...

  4. vue系列---Mustache.js模板引擎介绍及源码解析(十)

    mustache.js(3.0.0版本) 是一个javascript前端模板引擎.官方文档(https://github.com/janl/mustache.js) 根据官方介绍:Mustache可以 ...

  5. 探究Javascript模板引擎mustache.js使用方法

    这篇文章主要为大家介绍了Javascript模板引擎mustache.js使用方法,mustache.js是一个简单强大的Javascript模板引擎,使用它可以简化在js代码中的html编写,压缩后 ...

  6. Javascript模板引擎mustache.js详解

    mustache.js是一个简单强大的Javascript模板引擎,使用它可以简化在js代码中的html编写,压缩后只有9KB,非常值得在项目中使用.本文总结它的使用方法和一些使用心得,内容不算很高深 ...

  7. JS语法(二)

    JS变量 var 变量名 = 变量值://自己会判断什么类型 一个好的编程习惯是,在代码开始处,统一对需要的变量进行声明. var name = “xiaosan”, age = 22, addres ...

  8. Mustache.js前端模板引擎源码解读

    mustache是一个很轻的前端模板引擎,因为之前接手的项目用了这个模板引擎,自己就也继续用了一会觉得还不错,最近项目相对没那么忙,于是就抽了点时间看了一下这个的源码.源码很少,也就只有六百多行,所以 ...

  9. Mustache.js使用笔记(内容属于转载总结)

    1.Mustache的语法很简单,用两个大括号标记要绑定的字段即可,“{{}}” Mustache主要的渲染方法为Mustache.render(),该方法有两个参数,第一个为要渲染的模版, 也就是例 ...

随机推荐

  1. 常用 Git 命令清单【转】

    转自:http://www.ruanyifeng.com/blog/2015/12/git-cheat-sheet.html 作者: 阮一峰 日期: 2015年12月 9日 我每天使用 Git ,但是 ...

  2. 使用eclipse构建Maven项目及发布一个Maven项目

    开发环境: Eclipse Jee Mars(截止2015年12月1日目前的最新版eclipse4.5),下载地址:http://www.eclipse.org/downloads/ 因为此版本已经集 ...

  3. 如何动态修改windows下的host文件

    事件背景:为了测试数据提交后,需要在另一个环境的多个测试节点下去验证测试数据是否添加成功,找了一大堆放法,用了比较笨的方法实现了.不多废话思路如下: 为了万无一失,先备份hosts文件内容: 1.读取 ...

  4. java 异常使用指南

    应该在以下情况使用异常: 1.)在恰当的级别处理问题.(在知道如何处理的情况下才捕获异常) 2.)解决问题并且重新调用异常的方法 3.)进行少许的修补,然后绕过异常发生的地方继续执行 4.)用别的数据 ...

  5. java安装1.8的经验和Error: Registry key 'Software\JavaSoft\Java Runtime Environment'\CurrentVers问题处理

            java安装1.8后的问题:之前安装了jdk1.7和jdk1.6,之后又安装jdk1.8,然后执行java -version,输出的是1.8的,后来在注册表把jdk1.8改为1.7,然 ...

  6. shell中信号处理

    参考: Shell 脚本中信号处理实践 Linux Shell 的信号 trap 功能你必须知道的细节   在 unix 里,可能发生的每一种类型的事件都是由一个独立的信号来描述,每一个信号都是一个小 ...

  7. 【AtCoder】AGC020

    A - Move and Win 题解 看两个人相遇的时候谁先手即可,相遇之后第一个移动的人必输 代码 #include <bits/stdc++.h> #define fi first ...

  8. 【LOJ】#2508. 「AHOI / HNOI2018」游戏

    题解 把没有门的点缩成一个点 如果\(i->i + 1\)的钥匙大于\(i\),那么\(i\)不可以到\(i + 1\),连一条\(i\)到\(i + 1\)的边 如果\(i->i + 1 ...

  9. 前馈神经网络练习:使用tensorflow进行葡萄酒种类识别

    数据处理 样本数据描述 样本数据集是double类型的178 * 14矩阵,第一列表示酒所属类别,后面13列分别表示当前样本的13个属性: 1) Alcohol 2) Malic acid 3) As ...

  10. [同步脚本]mysql-elasticsearch同步

    公司项目搜索部分用的elasticsearch,那么这两个之间的数据同步就是一个问题. 网上找了几个包,但都有各自的缺点,最后决定还是自己写一个脚本,大致思路如下: 1.在死循环中不断的select指 ...