mustache.js で if/else を実行するにはどうすればいいですか? 質問する

mustache.js で if/else を実行するにはどうすればいいですか? 質問する

Mustache でこれを行う方法がわからないのは、かなり奇妙に思えます。サポートされていますか?

これは私の悲しい試みです:

    {{#author}}
      {{#avatar}}
        <img src="{{avatar}}"/>
      {{/avatar}}
      {{#!avatar}}
        <img src="/images/default_avatar.png" height="75" width="75" />
      {{/avatar}}
    {{/author}}

これは明らかに正しくありませんが、ドキュメントにはこのようなことは何も記載されていません。「else」という言葉さえも記載されていません :(

また、Mustache はなぜこのように設計されているのでしょうか? このようなことは悪いことだと考えられているのでしょうか? モデル自体にデフォルト値を設定するように強制しようとしているのでしょうか? それが不可能な場合はどうなるのでしょうか?

ベストアンサー1

Mustache で if/else を実行する方法は次のとおりです (完全にサポートされています)。

{{#repo}}
  <b>{{name}}</b>
{{/repo}}
{{^repo}}
  No repos :(
{{/repo}}

あるいはあなたの場合:

{{#author}}
  {{#avatar}}
    <img src="{{avatar}}"/>
  {{/avatar}}
  {{^avatar}}
    <img src="/images/default_avatar.png" height="75" width="75" />
  {{/avatar}}
{{/author}}

ドキュメント内の反転されたセクションを探します。https://github.com/janl/mustache.js#inverted-sections

おすすめ記事