1

我注意到在我的 Handlebars.js 模板中定义以下内容可以正常工作:

<input name="username" value="{{user.name}}">

即使在以下情况下也有效:

  1. 用户未定义;和/或
  2. user.name 未定义

但是,我质疑这样做是否合适。后台发生了什么?下面的不是更合适,尽管增加了更多的混乱?

<input name="username" value="{{#if user}}{{#if user.name}}{{user.name}}{{/if}}{{/if}}">

谢谢。

4

1 回答 1

1

我没有看到这样做的好处。这引入了更多的代码混乱,没有额外的可读性和额外的功能。

所以是的,如果得到一个 undefined 不会破坏你的页面,那么在不检查它是否存在的情况下调用它是完全合适的。

但是,如果不存在的内容会破坏您的页面结构,那么您绝对应该首先检查以确保它存在。

例如,如果您不希望显示评论部分,除非实际上有评论要显示,那么您将使用 if 块,如您在此处描述的那样。

但它看起来更像这样:

{{#if user.name}}
    <input name="username" value="{{user.name}}">
{{/if}}
于 2014-01-10T22:10:18.467 回答