Handlebars辅助函数if的扩展

handlebars在JS渲染html的时候功能非常强大,有许多内置的函数供使用,比如说 if 函数,

{{#if data}}<div></div>{{/if}}就可以判断在存在data的时候渲染内部html,这就是一个简单的 if 函数

但总不可能所有的逻辑都能考虑到,如果if里面还有一些复杂的逻辑,就不能处理了,所以就有了一些自定义函数

  Handlebars.registerHelper("ifExpress",function(a,b,options){
	if(a  b){
		//a 和b满足一定的关系
		return options.fn(this);//这个就相当于满足这个条件,执行ifExpress下面的一段代码
//options.fn(this)表示选择这个
	}else{
		
		return options.inverse(this);//表示不选择这个,选择else
	}
 
	});
在模版中的用法就是
{{#ifExpress a b}}
<div>11</div>     //满足条件输出此内容
{{else}}
<div>22</div>//不满足条件时候
{{#ifExpress}}
此时这个辅助函数就相当于一个if函数,只是有了更多的逻辑,由于有了options,表明此helper相当于一个block块,有一定的语法结构,要加#,不像一般的help不需要#号就可以调用(供自己记录所用)
原文链接 http://www.cnblogs.com/iyangyuan/p/3471350.html
评论将由博主筛选后显示,对所有人可见 | 还能输入1000个字符 “速评一下”
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页