在我的Handlebars模板中,我检查了一个变量的存在,并在其中显示一些文本:
{{#if foo}}
  some text
{{/if}}

如果foo是文本,或者如果foo是数字但不是零,这可以正常工作.但如果

var foo = 0;

那么{{#if foo}}返回false.

这似乎是另一个JavaScript的奇怪,因为Javascript本身的行为方式相同.但是,在Javascript代码中,您可以通过检查变量是否为“undefined”来解决此问题.

如何在Handlebars中做同样的事情?

我可以写一个{{#exists}}帮手,但我希望有一些内置的东西.

解决方法

我会更好一点,为{{else}}条件提供案例…
/**
 * The {{#exists}} helper checks if a variable is defined.
 */
Handlebars.registerHelper('exists',function(variable,options) {
    if (typeof variable !== 'undefined') {
        return options.fn(this);
    } else {
        return options.inverse(this);
    }
});

现在你可以有:

{{#exists myvar}}
  <p>Value of myvar is ... {{myvar}}</p>
{{else}}
  <p>Please supply a myvar</p>
{{/exists}}

handlebars.js – Handlebars #if和数字零的更多相关文章

  1. 如何检查字符串是否包含Swift中的另一个字符串?

    在Objective-C中,检查Nsstring中的子字符串的代码是:但是我如何在Swift中这样做?你可以做与Swift完全相同的调用:我希望这是一个有用的解决方案,因为有些人,包括我,通过调用containsstring()遇到一些奇怪的问题。

  2. 快速内联条件?

    我如何在Swift这样做?(没有我没有阅读整个手册…我可能错过了第2页!)好的,所以它在第91页和以上看来是正确的。但是我试图用这样的字符串来使用它:但编译器不高兴。任何想法如果可能的话?这是我能够得到的如果你正在寻找一个单行的话,你可以把?

  3. android – 如何检查文件是否存在,如果没有在异步任务的sdcard中创建新文件

    我想从服务器下载pdf并存储在sdcard上.我尝试像下面的代码,但它不会进入其他条件,因为我没有创建一个文件,仍然会给MSG文件存在.为什么呢解决方法您可以使用File.exists()检查文件是否存在注意:exists()将为目录返回true如果你想检查一个特定的文件是否存在,你必须使用File.isFile()新文件.exists()将返回true,但不允许您作为文件打开和读取.你的代码中的问题是你的文件名是空的.编辑2:尝试这个:要么或者在AsyncTask的onPreExecute()中放置这两

  4. 不是Android File.exists()区分大小写?

    我已经创建了一个新的文件夹“sdcard/dd”:而且,我创建第二个文件夹“sdcard/DD”由相同的代码,但是,这次album.exists()返回true,这表示“dd”是等于“DD”.任何人都知道为什么File.exists()不能检查文件夹名称的大小写?解决方法虽然Linux,因此也是Android,通常在文件名时是区分大小写的,通常在SD卡,记忆棒等上使用的FAT文件系统是不区分大小写的.因此,当它处理这些文件系统上的文件时,Android将不会区分这些情况.因此,如果您有两个文件,/sdca

  5. 详解handlebars+require基本使用方法

    本文主要对handlebars+require基本使用方法进行详细介绍,文章尾部会附上完整代码供大家参考。需要的朋友一起来看下吧

  6. JSP 开发之THE SERVLET NAME ALREADY EXISTS.解决方法

    这篇文章主要介绍了JSP 开发之THE SERVLET NAME ALREADY EXISTS.解决方法的相关资料,希望通过本文大家能解决这样的问题,需要的朋友可以参考下

  7. Spring Data Exists查询最佳方法编写示例

    这篇文章主要为大家介绍了Spring Data Exists查询最佳方法编写示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

  8. php – 如何使用SimpleXML检查元素是否存在?

    代码中的参数顺序相反.首先是对象然后是属性名:而且显然这仅适用于“真实”属性.如果使用__get-Method实现该属性,则这也不起作用.

  9. php – 为什么我不能在stdClass上调用property_exists?

    尝试:指定类名意味着在stdClass定义中,您需要定义属性.你可以从thisdemo看到它打印:

  10. 使用PHP SSH2检查远程目录

    如何使用PHP-SSH2检查远程SSH服务器中是否存在目录“xyz”?您可以使用sftp前缀’ssh2.sftp://’来使用file_exists例如,通过建立连接,您可以:

随机推荐

  1. js中‘!.’是什么意思

  2. Vue如何指定不编译的文件夹和favicon.ico

    这篇文章主要介绍了Vue如何指定不编译的文件夹和favicon.ico,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

  3. 基于JavaScript编写一个图片转PDF转换器

    本文为大家介绍了一个简单的 JavaScript 项目,可以将图片转换为 PDF 文件。你可以从本地选择任何一张图片,只需点击一下即可将其转换为 PDF 文件,感兴趣的可以动手尝试一下

  4. jquery点赞功能实现代码 点个赞吧!

    点赞功能很多地方都会出现,如何实现爱心点赞功能,这篇文章主要为大家详细介绍了jquery点赞功能实现代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

  5. AngularJs上传前预览图片的实例代码

    使用AngularJs进行开发,在项目中,经常会遇到上传图片后,需在一旁预览图片内容,怎么实现这样的功能呢?今天小编给大家分享AugularJs上传前预览图片的实现代码,需要的朋友参考下吧

  6. JavaScript面向对象编程入门教程

    这篇文章主要介绍了JavaScript面向对象编程的相关概念,例如类、对象、属性、方法等面向对象的术语,并以实例讲解各种术语的使用,非常好的一篇面向对象入门教程,其它语言也可以参考哦

  7. jQuery中的通配符选择器使用总结

    通配符在控制input标签时相当好用,这里简单进行了jQuery中的通配符选择器使用总结,需要的朋友可以参考下

  8. javascript 动态调整图片尺寸实现代码

    在自己的网站上更新文章时一个比较常见的问题是:文章插图太宽,使整个网页都变形了。如果对每个插图都先进行缩放再插入的话,太麻烦了。

  9. jquery ajaxfileupload异步上传插件

    这篇文章主要为大家详细介绍了jquery ajaxfileupload异步上传插件,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

  10. React学习之受控组件与数据共享实例分析

    这篇文章主要介绍了React学习之受控组件与数据共享,结合实例形式分析了React受控组件与组件间数据共享相关原理与使用技巧,需要的朋友可以参考下

返回
顶部