2015-10-13 78 views
1

内我有个PHP数组像这样的如果平等于车把模板验证每个循环

bookings[] = {"arrived","cancelled","departed"}; 

当显示此数组中的车把模板我想检查IF等于条件。

在下面的示例中,当value等于取消时,我想显示一些文本。

{{#each bookings}} 
    {{#if this.value cancelled}} 
     cancelled 
    {{/if}} 
{{/each}} 

此代码无法使用。什么是替代IF等于句柄在循环中执行的条件。

回答

0

如果我没有记错,你不能这样做在车把的实际条件,你只能做if true/false这意味着{{#if **value**}}**value**需要或者是真或假

那么,你会想做的是在this.value定义创建这样

valueIsCancelled = function(value) { 
    return value === 'cancelled'; 
} 

在模板函数的代码的区域,你会做:

 {{#each bookings}} 
     {{#if this.valueIsCancelled this.value}} 
       cancelled 
     {{/if}} 
     {{/each}} 

或另一种选择是,以限定值定义另一个变量,这将是一个布尔

var isCancelled = value === 'cancelled'; 

和您的模板看起来像这样

 {{#each bookings}} 
     {{#if this.isCancelled}} 
       cancelled 
     {{/if}} 
     {{/each}} 
1

现在我的代码工作,

bookings = ["arrived", "cancelled", "departed"]; 

手把功能:

Handlebars.registerHelper('check_status', function(val1, val2) { 
    return val1 === val2; 
}); 

手把模板:

{{#if (check_status this 'cancelled')}}