我们发现,Handlebars的模板标签中,{{#if condition}}{{/if}}只能判断这个condition是否为true和false,并不能判断是否等于某个特定的值。
我们可以借助Handlebars的registerHelper方法来实现。
举个 例子:
我取得的数据有个字段status,这个字段可能是0,1,2 当等于0时要再页面上显示 ‘可用’ ,当等于1时,在页面上显示‘不可用’,当等于2时页面显示‘保留’,其他情况下显示‘unknow’.
下面是在js里面的registerHelper的代码:
var template = Handlebars.compile(source); //source是html模板文件 这边就省略了 var data = {status : 0}; Handlebars.registerHelper(‘state’,function() { //这边的state是等下要用在模板文件里面的 if(data.status == 0){ return ‘可用’; }else if(data.status == 1){ return ‘不可用’; }else if(data.status == 2){ return ‘保留’; }else{ return ‘Unknow’; } }); $(“#yourDom”).html(template(data));
然后是要再模板文件里的调用:
当前状态:{{state}}
打完收工.可以看下结果了