作者:zccst
本节要点是子模块(partials)和分隔符(delimiter)等
1,子模块(partials)
/*
{{>partials}}以>开始表示子模块,如{{> address}};
当结构比较复杂时,我们可以使用该语法将复杂的结构拆分成几个小的子模块,例如:
*/
var data = {
"company": "Apple",
"address": {
"street": "1 Infinite Loop Cupertino</br>",
"city": "California ",
"state": "CA ",
"zip": "95014 "
},
"product": ["Macbook ","iPhone ","iPod ","iPad "]
}
//主模板
var tpl = "<h1>{{company}}</h1> <ul>{{>address}}</ul>";
//子模板写法1:定义一个子模块对象。里面放子模板。
var partials = {
address: "{{#address}}<li>{{street}}</li><li>{{city}}</li><li>{{state}}</li><li>{{zip}}</li>{{/address}}"
}
var html = Mustache.render(tpl, data, partials);
//子模板写法2:直接写在第三个参数里
var html = Mustache.render(tpl, data, {address: "{{#address}}<li>{{street}}</li><li>{{city}}</li><li>{{state}}</li><li>{{zip}}</li>{{/address}}"});
document.getElementById("target").innerHTML = html;
再举一例:
var view = {
name: "Joe",
winnings: {
value: 1000
}
};
var template = "Welcome, {{name}}! {{#winnings}} {{>winnings}}{{/winnings}} "
var partials = {
winnings: "You just won ${{value}}"
};
var output = Mustache.to_html(template, view, partials);
document.getElementById("target").innerHTML = output;
输出结果是:
Welcome, Joe! You just won $1000
2,分隔符(delimiter)
(1)写法1:默认的标签风格
* {{ default_tags }}
{{=<% %>=}}
(2)写法2:使用ERB风格
* <% erb_style_tags %>
<%={{ }}=%>
(3)写法3:
* {{ default_tags_again }}
3,预解析或缓存模板parse
默认情况下,mustache.js会在第一次读模板时缓存,第二次可加快速度,如果需要
Mustache.parse(template);
//跳过解析模板的阶段,直接渲染
Mustache.render(template, view);
4,对应的插件
有jQuery,MooTools,Dojo,YUI,qooxdoo。可以使用Rake来built。
5,测试(单元测试和整体测试)
如果您觉得本文的内容对您的学习有所帮助,您可以微信:
分享到:
相关推荐
2. "Mustache.js模板引擎使用 - 山外人家 - CSDN博客":这篇文章详细介绍了如何在JavaScript项目中集成和使用Mustache.js,包括基本语法和高级特性的应用。 3. "Javascript模板引擎mustache.js详解 - 流云诸葛 - ...
本文将深入探讨Mustache.js的基本概念、使用方法及其在实际项目中的应用场景。 Mustache.js遵循“逻辑less”的原则,这意味着它只负责数据的插入,而不涉及任何条件判断或循环操作。这种设计使得模板和逻辑分离,...
`mustache-js-examples` 提供了一系列示例,帮助开发者理解如何在JavaScript中有效地使用`Mustache.js`。 首先,你需要确保已经安装了Node.js和Express.js。Node.js是一个开源、跨平台的JavaScript运行环境,它允许...
Handlebars.js与其他JavaScript模板引擎如Mustache.js有着类似的语法,但Handlebars提供了更丰富的块助手和更好的扩展性。在实际开发中,Handlebars.js常用于构建复杂的前端应用,尤其是那些需要动态渲染大量数据的...
本文将深入探讨Mustache的基本语法,以JavaScript应用为例,帮助开发者理解和掌握这一强大的模板引擎。 一、Mustache简介 Mustache的核心理念是“logic-less”,即模板中不包含业务逻辑,仅负责展示数据。这意味着...
5. **模板引擎兼容**: 虽然Micromodal.js本身不依赖任何模板引擎,但它可以很好地与Handlebars、Mustache等模板库结合,使开发者能够轻松地动态渲染模态框内的内容。 6. **易用性**: Micromodal.js的使用方法简单...
2. **模板语法**: Hogan.js支持Mustache的基本语法,如双大括号`{{ }}`用于插入变量,三大括号`{{{ }}}`用于不转义地插入变量,以及部分(Partials)、循环(Loops)、条件(Conditions)等控制结构。 3. **编译和...
Vue.js 组件是 Vue.js 应用程序的基本构成单位。每个组件都可以包含模板、脚本和样式。组件可以嵌套使用,实现复杂的 UI 布局。 9. Vue.js 模板 Vue.js 模板是组件的视图层,用于描述组件的 UI 结构。模板可以使用...
总结来说,这个Backbone.js的Hello World实例展示了如何利用Backbone的核心组件(Model、View、Controller)与后端进行通信,以及如何使用模板引擎(Mustache)动态地展示数据。它是一个基本的单页应用(SPA)结构,...
1. **基础概念**:介绍Vue.js的基本结构,如如何创建实例、声明属性和方法、以及使用模板语法。 2. **数据绑定**:讲解Vue.js的双向数据绑定原理,包括Mustache语法、v-model指令和计算属性的使用。 3. **指令系统**...
在 Vue.js 技术参考手册中,目录介绍了 Vue.js 的基本概念和组成部分,包括 Vue 是什么、ViewModel 是什么、View 是什么、Model 是什么、Directives 是什么、Mustache Bindings 是什么、Filters 是什么、Components ...
6. **模板和自定义**:JointJS允许开发者使用Mustache或Handlebars模板来自定义图形的外观,同时也支持通过继承和扩展来创建自己的图形和连接线类型。 7. **序列化与反序列化**:JointJS能够将图对象序列化为JSON...
- **模板语法与绑定**:Vue.js 的模板语法允许使用Mustache语法({{ }})进行文本绑定,还可以使用v-bind和v-on指令绑定元素属性和事件。 - **过滤器 Filter**:过滤器用于对数据进行转换,如`{{ message | ...
使用Hogan.js编译Mustache。入门这是的插件。 使用以下命令安装此插件: npm install grunt-mustache-hogan-html --save-dev 插件安装完成后,可以在您的Gruntfile.js启用它,如下所示: grunt . loadNpmTasks ( '...
在给定的标题"JavaScript的mustache模板引擎的一个极其快速和小的子实现"中,我们可以推断这里提到的是一个轻量级的、高效的Mustache实现,可能是针对特定场景进行了优化,例如可能去除了某些非必要的功能,以达到更...
使用HTML、CSS和JavaScript(jQuery+Mustache.js)创建用户界面。Mustache.js是一个无依赖的模板库,可以方便地渲染动态数据。jQuery用于简化DOM操作和事件处理。在前端,当用户输入消息并点击发送按钮时,通过...
整个Hello World程序实例演示了Backbone.js的最小实现方式,让开发者能够快速理解Backbone.js核心组件如何协同工作以及如何使用Backbone.js构建基本的单页应用。在这个实例中,使用了Mustache作为模板引擎,但在实际...
4. **自定义模板**:typeahead.js允许你定制补全结果的展示样式,可以使用Mustache或Handlebars等模板引擎编写模板,以控制每条建议的HTML结构。 5. **监听事件**:可以监听typeahead.js的事件,如`open`(补全列表...
Vue.js使用Mustache语法(双大括号{{ }})进行文本插值,这是数据绑定最常见的形式。除了文本插值,Vue.js模板语法还支持表达式,表达式的结果会被解析成字符串并渲染出来。Vue.js的指令(Directives)是带有“v-”...
1. 数据绑定:小程序使用 WXML 模板来实现数据绑定,而 Vue.js 使用 Mustache 语法。 2. 列表渲染:小程序使用 wx:for 指令来实现列表渲染,而 Vue.js 使用 v-for 指令。 3. 显示与隐藏元素:小程序使用 wx-if 和 ...