2016-08-04 2 views
0

JSON補間でPugの動作について十分な文書を見つけることができないようです。あなたはになります。と思われますが、私が見つけた方法は激しく異なっており、私が望むものはまったくありません。ちなみに私はgulp-pugを使っています。ジェイド/ PugオブジェクトによるJSON補間

{ 
    0: {name: "zero", desc: "the additive identity"}, 
    1: {name: "one", desc: "the multiplicative identity"}, 
    2: {name: "two", desc: "the first prime number"} 
} 

このようなものに

ul 
    li(interpolated=0) BlaBlaBla 
    li(interpolated=1) EtcEtcEtc 

このようなテンプレートに何かを補間する:

は、それはそうのようなJSONオブジェクトを指定して、可能ですか?

<ul> 
    <li title="zero" desc="the additive identity">BlaBlaBla</li> 
    <li title="one" desc="the multiplicative identity">EtcEtcEtc</li> 
</ul> 

申し訳ありませんが、曖昧です。 Pugはこれを可能にしていますか?私は非常にそれを疑う。そうでない場合は、代替案をお勧めします。

答えて

0

はい、PUG(旧JADE)は補間することができます。あなたはすでに公式のジェーンラン参照を読んだことがありますか? interpolation

最初に行う必要があるのは、JSONをパースして、あなたの玉のテンプレートでアクセス可能なオブジェクトにすることです。あなたは、急行、麻薬、いやがらせなどでこれを行うことができます。

たとえば、オブジェクトの名前が、それは次のようになりinterpolated次のとおりです。

interpolated = { 
    0: {name: "zero", desc: "the additive identity"}, 
    1: {name: "one", desc: "the multiplicative identity"}, 
    2: {name: "two", desc: "the first prime number"} 
} 

次は、デフォルトのJavascriptの動作です。 、

ul 
    li(title= interpolated[0].name, desc= interpolated[0].desc) BlaBlaBla 
    li(title= interpolated[1].name, desc= interpolated[1].desc) EtcEtcEtc 
    li(title= interpolated[2].name, desc= interpolated[2].desc) EtcEtcEtc 

推測は、これが第一印象であるドキュメントを読んで、あなたはすぐに学ぶことができます:あなたのテンプレートでこれを補間するためには、次のようになります。