2015-04-03 17 views
8

Sau this answer, tôi đã viết một helper nhưLàm thế nào để sử dụng Handlebars trợ lý ternary?

module.exports.register = function (Handlebars) { 
    Handlebars.registerHelper('ternary', function(test, yes, no) { 
     return test ? yes : no; 
    }); 
}; 

tôi chắc chắn rằng các helper được nạp và được xác định nhưng không thể tìm ra cú pháp để sử dụng nó. Tôi đã cố gắng sử dụng nó như

<div>{{ternary(true, 'yes', 'no')}}</div> 

nhưng cung cấp cho một assemble build lỗi

Warning: Parse error on line 10: 
...<div>{{ternary(true, 'yes', 
----------^ 
Expecting 'ID', 'DATA', got 'INVALID' Use --force to continue. 

cú pháp thích hợp để sử dụng một helper như vậy là gì?

Trả lời

11

Helpbars helpers: http://handlebarsjs.com/#helpers không tuân theo cú pháp JavaScript trong các mẫu. Bạn có thể sử dụng chúng như thế này:

<div>{{ternary true "yes" "no"}}</div> 
5

Cập nhật 7/14/2017

Kể từ khi cả hai chuỗi được coi là giá trị truthy trong JavaScript, tôi đã thay đổi mã của tôi như sau:

{{input value=email placeholder="Enter Email" class="form-control" 
    disabled=(if isResetting 1 0) 
}} 

============================

gốc trả lời

Làm thế nào về tryi ng để sử dụng nội tuyến nếu {{if}}?

{{if user.isAdmin "True" "False" }} 
Các vấn đề liên quan