当前位置:  开发笔记 > 编程语言 > 正文

Handlebarsjs检查字符串是否等于值

如何解决《Handlebarsjs检查字符串是否等于值》经验,为你挑选了2个好方法。



1> Mihail..:

看来你不能"直接"做到这一点

尝试使用助手,为什么不呢?

在您的javascript代码中注册助手:

Handlebars.registerHelper('ifEquals', function(arg1, arg2, options) {
    return (arg1 == arg2) ? options.fn(this) : options.inverse(this);
});

在模板中使用:

{{#ifEquals sampleString "This is a string"}}
    Your HTML here
{{/ifEquals}}

这里有更多细节: handlebars.js {{#if}}条件中的逻辑运算符

UPD: 另一种方式:

假设您的数据是:

var data = {
    sampleString: 'This is a string'
};

然后(使用jQuery):

$.extend(data, {isSampleString: function() {
    return this.sampleString ==  'This is a string';}
});

使用模板:

{{#if isSampleString}}
    Your HTML here
{{/if}}



2> 小智..:

我会像这样使用帮手:

Handlebars.registerHelper('ifeq', function (a, b, options) {
    if (a == b) { return options.fn(this); }
    return options.inverse(this);
});

Handlebars.registerHelper('ifnoteq', function (a, b, options) {
    if (a != b) { return options.fn(this); }
    return options.inverse(this);
});

然后在你的代码中:

{{#ifeq variable "string"}} 
    ... do this ... 
{{/ifeq}}
{{#ifnoteq variable "string"}} 
    ... do this ... 
{{/ifnoteq}}

推荐阅读
围脖上的博博_771
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有