Handlebars自定义Helper的使用方法

环境是backbone!

首先要声明:

1 Handlebars.registerHelper('roomnameDisplay', function(flag) {
2   return flag?'roomname-hide':'';
3 });

在模板里的调用:

var SecretList = fliza.List.extend({
        …………其他代码
'   <a class="fromroom {{roomnameDisplay roomnameHide}}" target="_blank">[{{rooname}}]</a>'+  
        …………其他代码    
});

在模型(数据)里逻辑处理:

roomnameHide:v.from_client_roomname == roomConfig.roominfo.room_name

回顾一下整个流程:

1、首先用registerHelper注册了个roomnameDisplay 的Helper,接收一个flag的参数。根据flag的真假来返回字符串'roomname-hide'或'';

2、模型(数据)里,用变量roomnameHide来存储两个数据的值是否相等。

3、在模板里调用注册的roomnameDisplay的Helper,模板里的roomnameHide会根据模型里的值按声明里的设定进行编译。

这一切,像极了声明函数、传参调用!

原文地址:https://www.cnblogs.com/newh5/p/5177905.html