1

2 つの「マスター テンプレート」が呼び出されios.jade、さらに、変数の値に基づいて拡張する必要がある複数android.jadeの「子テンプレート」があります。残念ながら、これを行う方法はまだ見つかりませんでした。ios.jadeandroid.jade

次のようなことが頭に浮かびましたが、うまくいきません。

if (locals.os === "android")
  extends android
else
  extends ios

助言がありますか?

4

1 に答える 1

0

「マスターテンプレート」に含める「子テンプレート」を動的に決定する方法を見つけました。私の「マスターテンプレート」が次のようになっていると仮定しましょう(として保存main.jade):

html
  head
    meta(charset='utf8')
    base(href='/')
    title My super cool website
body
  if(locals.os === "android")
    include android
  else
    include ios

私の他のファイルは次のandroid.jadeとおりです。

p android

...そしてios.jade:

p ios

次に、Node.js-Express サーバーで「マスター テンプレート」をレンダリングし、魔法が起こるのを確認します (以下のコードは完全ではないことに注意してください。最初にサーバーをセットアップする必要があります)。

app.get('/', function(req, res) {
  res.render('main', {locals:{os: 'android'}});
});
于 2013-05-01T11:20:44.460 に答える