4

HTML 要素を jade ファイルに渡すことは可能ですか。たとえば、次のように p 要素にテキストを入力し、p 要素内にネストされたテキストを含むコード要素を入力したいと思います。

文字列を含む JSON

var news = {
  one : {
    title : "Using JSON",
     body : "Using JSON is a great way of passing information into the jade template files."+
            "It can be looped over using jades each syntax <code>test</code>"
  },
  two : {
    title : "",
    body : ""
  }
}

HTTP リクエストのルーティング

// Routes
app.get(navigation.home.uri, function(req, res){ //Home
  res.render(navigation.home.url, {
    title: navigation.home.title,
    navigation: navigation,
    news: news
  });
});

各ニュース項目のループを含む Jade ファイルのスニペット

  section#news
    - each item in news
      article(class="news")
        header
          h2 #{item.title}
        p #{item.body}
4

2 に答える 2

16

!{item.body}の代わりに使用#

于 2011-09-13T14:10:38.043 に答える
1

受け入れられた答えは@Jackによって与えられた例では確かに正しいですが、私はこれを最初のpタグなしで使用しました:

block content
    .jumbotron
        !{template.sections.welcome}
    .panel.panel-default
        !{template.sections.headline}

これは正しくなく、次のような Jade の警告が表示されます。

Warning: missing space before text for line 6 of jade file "~/demo/views/home.jade"

これは、Unescaped Buffered Codeを使用する代わりに補間を使用しており、長い文字列での使用を意図しているためです。

したがって、正しい構文 (ここで説明されているように) は次のようになります。

block content
    .jumbotron
        != template.sections.welcome
    .panel.panel-default
        != template.sections.headline

これにより、誰かがこれらの警告の根底に到達しようとする時間を節約できることを願っています!

于 2014-05-20T18:17:03.397 に答える