javascript - 是否可以在 Handlebars 模板中嵌套 if/else 语句?

标签 javascript html templates handlebars.js

我想知道是否可以使用 Handlebars 嵌套多个 if/else 语句?到目前为止我所有的尝试都导致了编译错误,我想做的是如下:

{{if address}}
    <ul>
    <li>address.line1</li>
    <li>address.line2</li>
    {{if address.line3}}<li>address.line3</li>{{/if}}
    {{if address.line4}}<li>address.line4</li>{{/if}}
{{else}}
   No address given
{{/if}}

我在这里尝试的是可以实现的吗?它总是导致解析器错误,到目前为止,我已经通过编写一个帮助程序来处理吐出地址(处理 javascript 中 line3/line4 的条件性)来解决它:

{{if address}}
    {{formatAddress address}}
{{else}}
   No address given
{{/if}}

虽然这行得通,但最好不要为这种简单条件的每个实例都编写辅助函数。

最佳答案

我相信 ifs 需要前面的#

试试这个。

{{#if address}}
    <ul>
        <li>address.line1</li>
        <li>address.line2</li>
        {{#if address.line3}}<li>address.line3</li>{{/if}}
        {{#if address.line4}}<li>address.line4</li>{{/if}}
    </ul>
{{else}}
   No address given
{{/if}}

关于javascript - 是否可以在 Handlebars 模板中嵌套 if/else 语句?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17945736/

相关文章:

c++:给定一个指针类型,如何恢复被指针类型?

c++ - 查找模板参数的 typeid

javascript - HTML Knockout 单选按钮调用函数

javascript - 如何像模糊图像一样模糊 iframe?

javascript - Gulp:编译 Mustache 时避免中间文件

html - 如何在 html 代码的链接标记中链接任何 Web 服务器上可用的 CSS 文件

javascript - 未知关键字确保问题

javascript - 仅提交 angularjs 中表单的检查值

javascript - Mongoose 和 Node 错误 : cannot read property 'forEach' of undefined

c++ - CLion:无法解析 <member_variable_name>