微信小程序入门——Mustache语法学习
微信小程序中用到了大量Mustache语法,特发此文学习一下
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.
去掉"&"的成果是转义为:<br>Willy<br> 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);
输出成果:
9.{{^}}与{{#}}相反,若是变量是null、undefined、 false、和空数组讲输出成果
10.{{! }}注释
微信小程序入门——Mustache语法学习的更多相关文章
- 从零开始的微信小程序入门教程(一)
之前说要和同事一起开发个微信小程序项目,现在也在界面设计,功能定位等需求上开始实施了.所以在还未正式写项目前,打算在空闲时间学习下小程序.本意是在学习过程中结合实践整理出一个较为入门且不是很厚的教程, ...
- 微信小程序入门-刘志敏-专题视频课程
微信小程序入门-269人已学习 课程介绍 微信小程序入门基础,给入门级程序员好的教程.教程中对小程序的介绍到小程序的基本使用都做了详细的介绍,教程以实用的实现作为案例,如列表下拉刷新.抽 ...
- 天河微信小程序入门《三》:打通任督二脉,前后台互通
原文链接:http://www.wxapp-union.com/forum.php?mod=viewthread&tid=505&extra=page%3D1 天河君在申请到https ...
- 我的微信小程序入门踩坑之旅
前言 更好的阅读体验请:我的微信小程序入门踩坑之旅 小程序出来也有一段日子了,刚出来时也留意了一下.不过赶上生病,加上公司里也有别的事,主要是自己犯懒,就一直没做.这星期一,赶紧趁着这股热乎劲,也不是 ...
- 微信小程序入门正确姿势(一)
[未经作者本人同意,请勿以任何形式转载] >>>前言 这是 [认真学编程] 系列的 第4篇 文章(微信小程序入门系列),欢迎点赞分享.写留言,这些都是对我最好的支持. 本系列适合有一 ...
- 微信小程序入门篇
微信小程序入门篇: 准备工作 IDE搭建 就不多说了,没有内测码去下载个破解版吧,我用了一下,学习完全够了!IDE破解版+安装教程 图片发自简书App 知识准备 JavaScrip还是要看看的,推荐教 ...
- 微信小程序入门与实战 常用组件API开发技巧项目实战*全
第1章 什么是微信小程序? 第2章 小程序环境搭建与开发工具介绍 第3章 从一个简单的“欢迎“页面开始小程序之旅 第4章 第二个页面:新闻阅读列表 第5章 小程序的模板化与模块化 第6章 构建新闻详情 ...
- 微信小程序入门与实战 从0到1进行细致讲解 涵盖小程序开发核心技能下载
第1章 什么是微信小程序? 第2章 小程序环境搭建与开发工具介绍 第3章 从一个简单的“欢迎“页面开始小程序之旅 第4章 第二个页面:新闻阅读列表 第5章 小程序的模板化与模块化 第6章 构建新闻详情 ...
- 微信小程序入门知识点总结
微信小程序入门知识点总结 前情介绍 微信小程序就不多介绍了,我们想要开发微信小程序首先得到微信公众平台 下方的小程序处注册相关账号并登录,接着填写小程序相关资料.在设置处可找到AppID用以开发微 ...
随机推荐
- 结构-行为-样式-Js排序算法之 快速排序
快速排序算法,是我的算法系列博客中的第二个Js实现的算法,主要思路: 在一个数组中随机取一个数(一般都取第一个或者最后一个),使这个数与数组中其他数进行比较,如果比它大就放到它的右边,比它小就放 ...
- canvas 弹幕效果
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 间隔Ns请求某函数并且有timeout
实现方案: 1. 递归调用 2.timer:apply_interval() 3.gen_server来写 时间timeout怎么实现: 1.开始时间存入ets表中 2.put,get方法放入进程字典 ...
- PHP5.6通过CURL上传图片@符无效的兼容问题
今天本来想试试一个图片云的API,于是本地做了个上传图片的测试,结果灰常郁闷的发现以前一直用的好好的CURL上传图片居然死活不起作用,本来几分钟搞定的事情,结果折腾了大半天才终于找到原因,居然是兼容性 ...
- 关于IO多路复用的一篇好文
http://blog.csdn.net/baixiaoshi/article/details/48708347 http://blog.csdn.net/hguisu/article/details ...
- qdoc 写法
Qdoc 注释 Qdoc注释有一些命令, 能够对文档进行组织. QDoc能识别以下3种类型的命令 主题(topic command) 主题命令确定了文档的元素,例如C++类(class),函数(fun ...
- iOS 电商购物车倒计时时间计算
/** * 倒计时 * * @param endTime 截止的时间戳 * * @return 返回的剩余时间 */ - (NSString*)remainingTimeMethodAction:(l ...
- RedisDesktopManager
下载地址: https://github.com/uglide/RedisDesktopManager/releases
- C# IDisposable的理解
C#里可以嵌入非托管代码,这就涉及到了这些代码资源的释放.以前总是看到别人的代码里那么写,也没有好好想想为什么,今天看了书,总结一下. 资源释放分为两种: 托管的 非托管的 两者的释放方式不一致: 没 ...
- CSU 1803 2016
湖南省第十二届大学生计算机程序设计竞赛$A$题 枚举. 处理一下$\% 2016$之后的数分别有几个,然后$2016*2016$枚举一下统计方案数就可以了. #pragma comment(linke ...