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 半平面交模板+学习笔记 [总结]半平面交 可以用于求任意 ...
最新文章
- 【蚁群路径规划】基于MATLAB的蚁群算法的二维路径规划
- win10安装Navicat 12 for MySQL
- [故障引起的故事]URL中带加号(+)的处理
- Java对战.NET,战争与和平的游戏
- labview嵌入c代码_Raspberry pi 4B+LabVIEW_2020amp;NXG部署WebApp
- php 账号与密码比对,Php - 将密码与root密码进行比较
- VS2010 使用GDI+创建图片水印的MFC程序
- OS- -文件系统(三)
- 如何用python编程制作出表格_使用Python轻松制作漂亮的表格
- 一周学C#第五天——命名空间
- Echarts数据可视化grid直角坐标系(xAxis、yAxis)
- 转:Java中abstract和interface的区别
- IPv6在3G网的应用(转)
- 中国数据中心改造市场趋势报告、技术动态创新及市场预测
- QQ号1941663132是一个诈骗
- OSW工具-Oracle的OS watcher
- oracle rebuild online,rebuild online 请慎用
- [树莓派] 轻松制作一个遥控小车(C++,Socket)
- 【开学季】30款高质量的自学网站,总有一款适合你
- Java基础:IO 流中的 flush
热门文章
- 认识计算机系统学情分析,小学信息技术《认识计算机》说课稿——获奖说课稿...
- 与百年经典奢侈品牌万宝龙跨界合作,“劲黑”系列主题下午茶来了!
- php文本转语音mp3api源代码,小说文本转音频(百度AI语音合成接口)
- 社交电商平台是什么?社区团购怎么做?运营经验分享
- 送别 2019,期待 2020!
- msf对小米11进行安全渗透
- 笔记本怎么建立局域网
- 「北京当代·艺术博览会 — 重聚」 共聚北京主场 开启北京时间
- 微信发送视频消息php,vbot微信聊天机器人微信聊天消息详解(5):视频消息
- 帝国cmssitemap.php,帝国CMS如何自动生成sitemap.xml网站地图