【转】微信小程序入门——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.{{! }}注释
深入理解拉格朗日乘子法(Lagrange Multiplier) 和KKT条件
肤色识别
创建自己的窗口消息
模糊C均值
Fisher线性判别
用遗传算法加强足球游戏的人工智能
人工智能-遗传算法解决推箱子问题现实
LBP特征
VC 制作系统托盘程序实现将窗口最小化到系统托
- 最新文章
-
Android高手进阶教程(十七)之---Android中Intent传递对象的两种方法(Serializable,Parcelable)!
Android高手进阶教程(二十一)之---Android中创建与几种解析xml的方法!
Android中级教程(三)之不同Activity之间的数据传递---Bundle对象的使用!
Android中级教程(二)之调用另一个Activity---Intent对象的使用!
Android基础教程之-------Android中两种设置全屏的方法!!!
Android基础教程(七)之----单选项框RadioGroup的综合应用
Android基础教程(六)之----多选项CheckBox的综合应用
Android基础教程(五)之-----Menu功能菜单设计
Android基础教程(四)之-----取得手机屏幕大小DisplayMetrics的应用
Android基础教程(三)之-----简单的Button事件响应综合提示控件Toast的应用