惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

雷峰网
雷峰网
Security Archives - TechRepublic
Security Archives - TechRepublic
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Last Week in AI
Last Week in AI
博客园 - 司徒正美
阮一峰的网络日志
阮一峰的网络日志
WordPress大学
WordPress大学
爱范儿
爱范儿
J
Java Code Geeks
T
Tailwind CSS Blog
Apple Machine Learning Research
Apple Machine Learning Research
人人都是产品经理
人人都是产品经理
宝玉的分享
宝玉的分享
博客园 - 【当耐特】
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
Help Net Security
Help Net Security
Hacker News: Ask HN
Hacker News: Ask HN
月光博客
月光博客
S
Secure Thoughts
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
博客园 - 聂微东
Hugging Face - Blog
Hugging Face - Blog
V
Visual Studio Blog
博客园 - 三生石上(FineUI控件)
O
OpenAI News
酷 壳 – CoolShell
酷 壳 – CoolShell
N
News and Events Feed by Topic
腾讯CDC
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
Webroot Blog
Webroot Blog
博客园 - Franky
有赞技术团队
有赞技术团队
美团技术团队
Jina AI
Jina AI
S
Security @ Cisco Blogs
博客园 - 叶小钗
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园_首页
C
CERT Recently Published Vulnerability Notes
T
Threat Research - Cisco Blogs
Project Zero
Project Zero
A
Arctic Wolf
大猫的无限游戏
大猫的无限游戏
Latest news
Latest news
小众软件
小众软件
IT之家
IT之家
S
Security Affairs

博客园 - 薛端阳

12小时包你学会基于ReactMix框架的ReactNativeApp开发(二)基于Css+HTML写第一个app页面 12小时包你学会基于ReactMix框架的ReactNativeApp开发(一)Hello World! ReactMix框架,让你实现一套js代码,基于ReactNative在H5,App都能完美跑起来,Write Once,Run Anywhere [分享黑科技]纯js突破localstorage存储上线,远程抓取图片,并转码base64保存本地,最终实现整个网站所有静态资源离线到用户手机效果却不依赖浏览器的缓存机制,单页应用最新黑科技 不要听吹牛逼什么前端MVVM框架就是好,其实都是一帮没学好分层设计的搞出来的,让你彻底看清前端MVVM的本质 基于Css反射形自触发事件,优化你的延时事件 巧用正则零宽断言实现靓号检索逻辑 HTML5触屏版多线程渲染模板技术分享 (造福中国前端界)纯前端Js完美解决各种汉字urlencode,urldecode,编码解码问题,不借助任何字库,内码表,轻松一行,兼容IE8+,chrome,firefox,safari等主流浏览器 分享Css3设计---纯Css实现超酷的iphone玻璃气泡效果 中文前端UI框架Kit(十四)超酷的瀑布流特效动画 中文前端UI框架Kit(十三)使用RequireJs托管你的类库和js代码 中文前端UI框架Kit(十一)摇头动画?让你的页面元素嗑药嗑起来?? 中文前端UI框架Kit(十)Javascript多线程工作模型的实现 中文前端UI框架Kit(九)IE下实现W3C标准的range对象所有api,支持通过xpath跨浏览器实现特定选区高亮,书签标记功能 中文前端UI框架Kit(八)无插件异步文件上传组件源码解析 中文前端UI框架Kit(七)无插件异步文件上传组件,带进度,支持文件拖拽 中文前端UI框架Kit(六)javascript动画代码实现原理和一些小技巧 不知道大家知道不知道,iOS开发,web页面的链接的active属性无效,但是今天发现一个hack办法可以让Css的active有效
中文前端UI框架Kit(十二)整合Mustache做kitjs模板引擎,基本写法${varname}
薛端阳 · 2012-06-07 · via 博客园 - 薛端阳

号外:kitjs官方讨论QQ群建立了,QQ群号88093625,欢迎大家加入,讨论前端相关话题

kit整合了优秀的javascript模板引擎Mustache,做模板模块,基本写法为${varname}

demo地址:http://xueduany.github.com/KitJs/KitJs/index.html#template

jsdoc地址:http://localhost/jsdoc/out/$Kit.Template.html

基本用法如下,如果需要了解更多特殊用法,请访问Mustache官网http://mustache.github.com/

1.简单变量替换${name}
function _a1() {
	$kit.el('#a1').innerHTML = $kit.template.render('${name} is awesome', {
		name : '<b style="color:red">Willy</b>'
	});
}
			
2.如果变量含有html的代码的,例如:<br>、<tr>等等而不想转义可以在用${&name}
function _a2() {
	$kit.el('#a2').innerHTML = $kit.template.render('${&name} is awesome', {
		name : '<b style="color:red">Willy</b>'
	});
}
			
3.如果是对象,还能解释其属性
function _a3() {
	$kit.el('#a3').innerHTML = $kit.template.render("name:${name.first} ${name.last},age:${age}", {
		"name" : {
			"first" : "Chen",
			"last" : "Jackson"
		},
		"age" : 18
	});
}
			
4.${#param}这个标签很强大,有if判断、forEach的功能。
function _a4() {
	$kit.el('#a4').innerHTML = $kit.template.render("Shown.${#nothin}Never shown!${/nothin}", {
		"nothin" : true
	});
}
			

如果nothin是空或者null,或者是false都会输出Shown.相反则是Shown.Never shown!。

5.迭代
function _a5() {
	$kit.el('#a5').innerHTML = $kit.template.render("${#stooges}${name}${/stooges}", {
		"stooges" : [ {
			"name" : "Moe"
		}, {
			"name" : "Larry"
		}, {
			"name" : "Curly"
		} ]
	});
}
			
6.如果迭代的是数组,还可以用${.}来替代每个元素
function _a6() {
	$kit.el('#a6').innerHTML = $kit.template.render("${#musketeers}* ${&.}${/musketeers}", {
		"musketeers" : [ "Athos", "Aramis", "Porthos", "D'Artagnan" ]
	});
}
			
7.迭代输出的还可以是一个function返回的结果,function可以读取当前变量的上下文来获取其他属性执行其他操作
function _a7() {
	$kit.el('#a7').innerHTML = $kit.template.render("${#beatles} *${name}${/beatles}", {
		"beatles" : [ {
			"firstName" : "John",
			"lastName" : "Lennon"
		}, {
			"firstName" : "Paul",
			"lastName" : "McCartney"
		}, {
			"firstName" : "George",
			"lastName" : "Harrison"
		}, {
			"firstName" : "Ringo",
			"lastName" : "Starr"
		} ],
		"name" : function() {
			return this.firstName + " " + this.lastName;
		}
	});
}
			
8:方法里面可以再执行变量中的表达式
function _a8() {
	$kit.el('#a8').innerHTML = $kit.template.render("${#bold}Hi ${name}.${/bold}", {
		"name" : "${age}" + "Tater",
		"bold" : function() {
			return function(text, render) {
				console.log(text);
				return "" + render(text) + "";
			};
		},
		"age" : 18
	});
}
			
9.{{^}}与{{#}}相反,如果变量是null、undefined、 false、和空数组讲输出结果
10.{{! }}注释