Jade / Pug JSON插值与对象

时间:2016-08-04 07:19:30

标签: json pug

我似乎无法找到关于Pug与JSON插值行为的充分文档。看来你可以,但我发现的方法差别很大,没有一个能达到我想要的效果。顺便说一下,我正在使用gulp-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

这样的事情?

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

抱歉模糊不清。帕格能干吗?我非常怀疑它。如果没有,请推荐替代品。

1 个答案:

答案 0 :(得分:1)

是的,PUG(前JADE)能够进行插值。你有没有读过官方的Jade lang参考文献?阅读interpolation

部分

首先,您必须将JSON解析为可在jade模板中访问的对象。你可以用express,gulp,grunt等等来做到这一点。

例如,对象的名称为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

猜猜这是第一印象,阅读文档,你会很快学会。