3

Jade と Express で動的レイアウトを使用しようとしています。私は多くの代替案を見てきましたが、それをきれいに行う方法はありません。

私のアプリケーションには、動的に他のテンプレートを含む多くの種類のテンプレートがあります。そして、それは私のアプリケーションのキーストーンのようなものなので、それなしでは先に進めません...

以下に例を示します (3 種類のテンプレート): template_1 template_2 template_3

template_1にはtemplate_2と別のtemplate_3が含まれます

したがって、静的な場合は、次のようにします。

# template.coffee
exports.index = (req, res) ->
  res.render 'template_1'

# template 1
Some HAML content

block content
  div.block
    include template_2
  div.block
    include template_3

しかし、ローカル変数を介して使用するテンプレートのリストを提供したい:

だから、私はこのようなことを考えました

# template.coffee
exports.index = (req, res) ->
  res.render 'template_1', {
    template_list: [
      'template_2',
      'template_3'
    ]
  }

# template 1
Some HAML content

block content
  - each current_template in template_list
    div.block
      include current_template

また

# template 1
Some HAML content

block content
  - each current_template in template
    div.block
      include #{current_template}

しかし、うまくいきません。インクルードまたはエクステンドの後にあるものはすべて文字列として取得します...

ジェイドは事前にコンパイルされているようです。

では、動的な包含を作成することは可能ですか? またはパーシャル?または動的レイアウト?

助けてくれてありがとう。

4

1 に答える 1