Backbone と Marionette を使用して JavaScript Web アプリを作成しています。テンプレートは Handlebars を使用して作成されています。
進行状況インジケーター、結果リスト、フッターの 3 つのセクションを持つビューがあります。これらのそれぞれは、操作が進行中かエラーが発生したかに基づいて、表示または非表示にすることができます。
Handlebars テンプレートに条件付きコードを含める必要があり{{unless resultsFetched}}
ますthis.render()
か?this.ui.resultsList.show()
this.ui.resultsList.hide()
ありがとう。
アップデート
ビューテンプレートにロジックを含めることの長所と短所は次のとおりです。
長所:
- これは、ビューがモデルの状態に基づいて特定の方法で動作することを示す、(命令型ではなく) 宣言型のスタイルのように見えると思います。
- 物事がより複雑になるにつれて、広範囲に使用されるJavaScript コードよりも
show()
、条件付きロジックを含むテンプレートを読みやすくなるでしょう。hide()
短所:
- MVC アーキテクチャはまだ順守されていますか?
- これは、Mustache の論理のないビューの哲学に反します。