Mustache模板学习笔记
Mustache模板学习笔记
- 1 初体验
- 1.1 还可以对象形式做数据源
- 1.2 {{#param}}这个标签很强大,有if判断、forEach的功能。
- 1.2.1 如果迭代的是数组,还可以用{{.}}来替代每个元素
- 1.3 迭代输出的还可以是一个function返回的结果,function可以读取当前变量的上下文来获取其他属性执行其他操作
1 初体验
首先先定义一个type="x-tmpl-mustache"的模板脚本并给与一个id
<script id="paginateTemplate" type="x-tmpl-mustache"><p> Hello,{{name}}</p>
</script>
其次再在html页面中定义一个div容器,并给一个id名
<div id="context"></div>
最后再在</body>前写javascript脚本做模板渲染
<script type="text/javascript">var data = { "phone": "iphone" }var Template = $('#paginateTemplate').html();var rendered = Mustache.render(Template,data);$('#context').html(rendered);
</script>
1.1 还可以对象形式做数据源
var data = {"name" : {"first" : "Chen","last" : "Jackson"},"age" : 18
};
var output = Mustache.render("name:{{name.first}} {{name.last}},age:{{age}}", data);
console.log(output);
结果:name:Chen Jackson,age:18
1.2 {{#param}}这个标签很强大,有if判断、forEach的功能。
var data = {"nothin":true
};
var output = Mustache.render(
"Shown.{{#nothin}}Never shown!{{/nothin}}", data);
console.log(output);
结果:如果nothin是空或者null,或者是false都会输出Shown.相反则是Shown.Never shown!。
下面是迭代功能的使用:
var data = {"stooges" : [ {"name" : "Moe"}, {"name" : "Larry"}, {"name" : "Curly"} ]
};
var output = Mustache.render("{{#stooges}}<b>{{name}}</b>{{/stooges}}",data);
console.log(output);
输出:<b>Moe</b>
<b>Larry</b>
<b>Curly</b>
1.2.1 如果迭代的是数组,还可以用{{.}}来替代每个元素
var data = {"musketeers" : [ "Athos", "Aramis", "Porthos", "D'Artagnan" ]
};
var output = Mustache.render("{{#musketeers}}* {{&.}}{{/musketeers}}",data);
console.log(output);
输出:
* Athos
* Aramis
* Porthos
* D’Artagnan
1.3 迭代输出的还可以是一个function返回的结果,function可以读取当前变量的上下文来获取其他属性执行其他操作
var data = {"beatles" : [ {"firstName" : "John","lastName" : "Lennon"}, {"firstName" : "Paul","lastName" : "McCartney"}, {"firstName" : "George","lastName" : "Harrison"}, {"firstName" : "Ringo","lastName" : "Starr"} ],"name" : function() {return this.firstName + " " + this.lastName;}};var output = Mustache.render("{{#beatles}} *{{name}}{{/beatles}}", data);console.log(output);
9.{{^}}与{{#}}相反,如果变量是null、undefined、 false、和空数组讲输出结果
10.{{! }}注释
Mustache模板学习笔记相关推荐
- PHP-自定义模板-学习笔记
1. 开始 这几天,看了李炎恢老师的<PHP第二季度视频>中的"章节7:创建TPL自定义模板",做一个学习笔记,通过绘制架构图.UML类图和思维导图,来对加深理解. ...
- C++模板学习笔记——模板实参
对于函数模板,编译器通过隐式推断模板实参.其中,从函数实参来确定模板实参的过程被称为模板实参推断.在模板实参推断过程中,编译器使用函数调用中的实参类型来寻找模板实参,用这些模板实参生成的函数版本与给定 ...
- “模板”学习笔记(7)-----数组模板+对象数组举例
我们可以定义一个数组模板,并且利用该模板声明其数组成员.声明的方式非常简单,主需要一下两步: template<class ElementType,int n>; ElementType ...
- C++ 函数模板和排序的函数模板——学习笔记
我们在使用重载函数时,只是使用了函数名,而函数体还是得分别定义,在C++中函数模板为我们很好的解决了这个问题. 1.函数模板的声明 函数模板可以用来创建一个通用的函数,以支持多种不同的形参,避免重载函 ...
- JQuery-No.02 jTemplates模板学习笔记
2019独角兽企业重金招聘Python工程师标准>>> 1.jTemplates工作方式 1)setTemplateElement:指定可处理的模板对象 2)processTempl ...
- ACM模板 | 学习笔记 树相关
持续更新中qwq 咕咕咕 此次update是在我原先自己的博客园博客的基础上进行更新的(隔了两年该忘的不该忘的都忘完了qwq),顺便整理一下我的acm模板QAQ (我保证2021.3.1开学之前搞完! ...
- FLASK模板学习笔记
默认配置: template_folder='templates' ----- 模板的默认目录 render_template() -------- (x)html自动转义 render_t ...
- ACM模板 | 学习笔记 数学相关
正在整理中qwq 欧拉函数 求欧拉函数的个数(phi(n)) phi(n)=n∗(1−1p1)∗...∗(1−1pk)phi(n) = n * (1 - \frac{1}{p_1})*...*(1-\ ...
- [学习笔记]半平面交
一个直线把平面分成两部分,就是两个半平面 处理这两个平面的交的信息,就是半平面交 推荐: 计算几何之半平面交算法模板及应用 bzoj 2618 半平面交模板+学习笔记 [总结]半平面交 可以用于求任意 ...
最新文章
- 林轩田机器学习基石课程学习笔记1 -- The Learning Problem
- linux history存放位置,Linux中history历史命令使用方法详解
- 他入狱10年自学数学,如今凭借手稿发了篇论文,被同行评价“足以开辟数论新领域”...
- Java设计模式(二十):中介者设计模式
- 一文搞定Linux shell脚本编程( 史上最全汇总 )
- sql range 范围内查询
- mongodb系列01--基础篇
- [渝粤教育] 中国地质大学 大学英语(1) 复习题
- 【转】CT层厚、层间距、层间隔的概念是什么,MRI的层厚、层间距、曾间隔是什么
- mysql还是mdb2_mysql两种表存储结构myisam和innodb的性能比较测试
- ASP.NET HyperLink控件NavigateUrl中用到DataBinder.Eval时
- WPF窗口允许通过拖放进行切换
- dp----最少硬币问题
- Python爬虫QQ空间
- 宇视交换机vlan路由配置指导
- Binarized Neural Network : BNN二值神经网络代码实例
- 计算机考试试题及答案
- 学习日记5-C语言函数的应用
- 程序员的十种搞笑级别
- 《机器学习实战》—— 决策树
热门文章
- Android进程管理,Android开发者跳槽指南面试必备
- 语音智能是利用计算机,什么是虚拟现实技术,语音技术,智能技术?
- SpringCloud - Spring Cloud Netflix 之 Hystrix ;turbine(十)
- Android混淆配置
- android linearlayout 代码,Android如何从代码向另一个LinearLayout添加Linearlayout
- AntDB入选《爱分析:2022数据智能厂商全景报告》
- [记录]修改el-table边框颜色
- AsyncTask、HandlerThread、IntentSerivce源码解析
- VS2008卸载导致的Office不能正常使用
- 雷达图 和 K线图(蜡烛图),OHLC线图