2

ダッシュボードのようなページをまとめています。

複数の列があり、各列に複数の異なる種類のコンテンツ ブロックがあります。

ユーザーは、どのブロックをどの列に入れるか、どのブロックをまったく表示しないかを決めることができます。

そのため、保存されたブロックのリストをループしています。ブロックに関する保存されたデータに基づいて、各ポイントで表示されるブロックの種類を選択できるようにしたいと考えています。

現在、次のようにして各列を個別にレンダリングしているため、テンプレートに重複があります。

{{#each block in controller.first_column}}
  {{! ...}}
{{/each}}
{{#each block in controller.second_column}}
  {{! ...}}
{{/each}}
{{#each block in controller.third_column}}
  {{! ...}}
{{/each}}

したがって、コントローラはブロックのリストをフィルタリングします。しかし、今では 3 種類のブロックしかないため、ブロックの種類についても何らかの if テストを行う必要があります... DRY ではありません。

私はViews(ビューへのいかなる種類の引数も許可していないようです)と(使用するテンプレートを設定できるようComponentsにカスタマイズすることを許可していません)の両方を見てきました。templateName

これを行う適切なEmberスタイルの方法は何ですか? ありがとう!

4

0 に答える 0