我有像这样的php数组
bookings[] = {"arrived","cancelled","departed"};
当在把手模板中显示此数组时,我想检查IF等条件。
在以下示例中,当值等于取消时,我想显示一些文本。
{{#each bookings}}
{{#if this.value cancelled}}
cancelled
{{/if}}
{{/each}}
此代码无效。什么是替代IF等于把手在循环中执行的条件。
答案 0 :(得分:3)
现在我的代码正常运作,
bookings = ["arrived", "cancelled", "departed"];
车把功能:
Handlebars.registerHelper('check_status', function(val1, val2) {
return val1 === val2;
});
车把模板:
{{#if (check_status this 'cancelled')}}
答案 1 :(得分:1)
如果我没弄错,你不能在把手中做一个实际的条件,你只能做if true/false
这意味着**value**
中的{{#if **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}}