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 に答える