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会根据模型里的值按声明里的设定进行编译。

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

时间: 2024-10-07 14:37:48

Handlebars自定义Helper的使用方法的相关文章

handlebars自定义helper的写法

handlebars相对来讲算一个轻量级.高性能的模板引擎,因其简单.直观.不污染HTML的特性,我个人特别喜欢.另一方面,handlebars作为一个logicless的模板,不支持特别复杂的表达式.语句,只内置了一些基本的语法,像if.each这些.可惜的是就连if都十分弱,只能判断值是否为true/false,或转化后是否为true/false,不能对值进行比较.不过,handlebars提供了自定义helper的能力,通过自定义helper,可以实现非常丰富的功能.本篇来总结一下hand

自定义 Helper Method

摘自小牛之路 自定义 Helper Method 模板 前面我们简要介绍了 Helper Method 模板根据 Model 元数据生成 Html 元素的便捷之处.但有时候MVC提供的模板并不能满足我们的需求,这时我们可以为 Model 对象的某个属性自定义一个 Helper Method 模板. 在前文中我们知道,使用 Html.DropDownList(For) 可以为我们创建一个下拉列表,但这个方法有一点不好使,每次使用都需要给它构造器的第二个参数指定数据源,很是不方便.对于频繁使用的下拉

Android自定义View的实现方法,带你一步步深入了解View(四)

转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/17357967 不 知不觉中,带你一步步深入了解View系列的文章已经写到第四篇了,回顾一下,我们一共学习了LayoutInflater的原理分析.视图的绘制流程. 视图的状态及重绘等知识,算是把View中很多重要的知识点都涉及到了.如果你还没有看过我前面的几篇文章,建议先去阅读一下,多了解一些原理方面的东 西. 之前我有承诺过,会在View这个话题上多写几篇博客,讲一讲View的

Android之十一Toast 自定义Toast的实现方法,及其说明

Android Toast 自定义Toast的实现方法,及其说明 Android Toast用于在手机屏幕上向用户显示一条信息,一段时间后信息会自动消失.信息可以是简单的文本,也可以是复杂的图片及其他内容(显示一个view).  1.简单用法 Toast.makeText(midlet.getApplicationContext(), "用户名不能为空", Toast.LENGTH_LONG).show(); 2.自定义显示位置效果 代码 toast = Toast.makeText(

【转】Android自定义View的实现方法,带你一步步深入了解View(四)

原文网址: 转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/17357967 不知不觉中,带你一步步深入了解View系列的文章已经写到第四篇了,回顾一下,我们一共学习了LayoutInflater的原理分析.视图的绘制流程.视图的状态及重绘等知识,算是把View中很多重要的知识点都涉及到了.如果你还没有看过我前面的几篇文章,建议先去阅读一下,多了解一些原理方面的东西. 之前我有承诺过,会在View这个话题上多写几篇博客,讲一讲Vi

ActionBar自定义修改无效解决方法

如果程序支持API11以下的版本,那么需要修改多个地方 values-v14 和values-v11下面的styles中也要写上 <style name="AppTheme" parent="AppBaseTheme"> <!-- All customizations that are NOT specific to a particular API-level can go here. --> <item name="act

Delphi中ListView中实现自定义删除功能的方法

Delphi中ListView中实现自定义删除功能的方法 第一种:有时删除文件会出现文件删不掉现象 if lvMain.InnerListView.ItemIndex <> -1 then begin // DoContextMenuVerb(lvMain.SelectedFolder, 'delete'); DoContextMenuVerbB(lvMain.Folders[lvMain.InnerListView.ItemIndex], 'delete'); 第二种:删除功能很强大,建议使

SpringMVC和Freemarker整合,带自定义标签的使用方法

SpringMVC和Freemarker整合,带自定义标签的使用方法. [参考来源:http://www.360doc.com/content/14/1225/14/1007797_435663342.shtml] SpringMVC现在是比较热门的一种框架了,使用起来感觉还是很不错的,现在我分享一下集体的配置和使用,希望对学习SpringMVC的朋友有用.一.首先我们做准备工作,下载Spring包,下载Freemarker包.二.配置web.xml. 1 2 3 4 5 6 7 8 9 10

自定义view的自定义属性方法

一般自定义view以达到某些效果,复写onDraw()方法就行了.当我们需要动态地响应用户的操作且能像Android自带View那样直接操作属性就很方便了,为了达到这个目的,我们就可以使用自定义view属性的方法来对我们的自定义view进行动态响应了. 为了实现自定义的view的自定义属性,应该完成这四步: 为你的view在资源标签下定义自设的属性 在你的XML layout中指定属性值 在运行时获取属性值 把获取到的属性值应用在你的view上 step1: 在资源标签下定义自设的属性,放置于r