mustache java 性能_Mustache 使用心得总结

本文总结了Mustache模板引擎的使用心得,包括对象绑定展示、对象数组循环渲染、判空处理和防止HTML转义展示等方面。通过实例代码详细解析了Mustache在JavaScript中的核心语法和特性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.  Mustache 概述

Mustache是基于JavaScript实现的模版引擎,类似于JQuery Template,但是这个模版更加的轻量级,语法更加的简单易用,很容易上手。

2.  Mustache 具体的使用

下面就具体讲一下Mustache的使用。在开始讲之前,需要先从git hub上获取相关的mustache.js文件,获取文件之后,新建一个解决方案,目录如下:

79b42a3a301dbef3a91d6f3487cd8c61.png

然后就开始具体的使用,首先需要在页面的head标签内引用Jquery.js 和Mustache.js两个脚本文件,主要有以下几个方面(以下演示的方法均在head标签中的script代码块中):

2.1简单的对象绑定展示

代码示例:

var data ={"company": "Apple",

}var tpl = '

Hello {{company}}

';var html =Mustache.render(tpl, data);

console.log(html);

语法解释:

Mustache的语法很简单,用两个大括号标记要绑定的字段即可,“{{}}”;

大括号内的字段名称要和Mustache.render方法中的第二个参数中的对象的属性名一致

主要的渲染方法为Mustache.render,该方法有两个参数,第一个为要渲染的模版,第二个就是数据源也就是上例中的data对象

2.2 对象数组循环渲染展示

代码示例:

var users = { result: [{ name: "Only", age: 24, sex: "boy"},

{ name:"for", age: 24, sex: "boy"},

{ name:"Olive", age: 23, sex: "girl"}

]

};var template = "

NameAgeSex
{{name}}{{age}}{{sex}}
";var views =Mustache.render(template, users);

$("#users_info").html(views);

页面呈现效果:

dbf684ec4ad116d2ab3fd44b2bdfc380.png

语法解释:

对于对象数据Mustache也有其特殊的语法:{{#}}{{/}},如果所给定的数据源是一个对象数组,则可以使用该语法,很方便的用来循环展示。

其中{{#}}标记表示从该标记以后的内容全部都要循环展示

{{/}}标记表示循环结束。这种情况多用于table行的展示。

2.3判断对象为null(false/undefined)展示

代码示例:

var users = { result: [{ name: null, age: 24, sex: "boy"},

{ name:"for", age: 24, sex: "boy"},

{ name:"Olive", age: 23, sex: "girl"}

]

};var template = "

NameAgeSex
{{#name}}{{name}}{{age}}{{sex}}{{/name}}
";var views =Mustache.render(template, users);

$("#users_info1").html(views);

页面呈现效果:

da3ed94dd1ba42eed6ffbe7961800359.png

语法解释:

上边我们有讲到{{#}}{{/}}这样的语法,除了上边的循环遍历之外,它还有另外的一层意思就是判空,如果{{#}}中的值为null或false或undefine则其标记内的内容则不展现

在代码示例中,users对象中的第一个对象名为null,所以在展示时,该条用户信息没有被展示。

有了判空的方法当然还有与之相反的方法{{^}},该方法表示的意思与{{#}}意思相反。

2.4 防止html转义展示

代码示例:

var user = { name: "

Olive

"};var template = "my name is {{name}}";var view =Mustache.render(template, user);

$("#user_name").html(view);

页面呈现效果:

28a0108fa198b9cc2c42d724db248632.png

如果在{{}}中加&,则效果如下:

c65994e95803bce225964ed78d26b1f9.png

语法解释:

在某些时候,我们要绑定的数据源中可能会有一些html标记,如果单纯的采用{{}}这种方式来绑定的话,默认的会将html标记转义。为了解决防止绑定字段中的内容被转移我们可以这样做{{&}},这样就可以防止转义。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值