Jade/Pug与对象的JSON插值

Jade/Pug与对象的JSON插值,json,pug,Json,Pug,我似乎找不到任何关于帕格使用JSON插值行为的足够文档。看起来你可以,但我发现的方法差别很大,没有一种能完全满足我的要求。顺便说一句,我用的是哈巴狗 如果有这样一个JSON对象,是否可能: { 0: {name: "zero", desc: "the additive identity"}, 1: {name: "one", desc: "the multiplicative identity"}, 2: {name: "two", desc: "the first prime nu

我似乎找不到任何关于帕格使用JSON插值行为的足够文档。看起来你可以,但我发现的方法差别很大,没有一种能完全满足我的要求。顺便说一句,我用的是哈巴狗

如果有这样一个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>
  • BlaBlaBla
  • 等等
抱歉说得含糊不清。帕格能做到这一点吗?我对此深表怀疑。如果没有,请推荐替代品。

是的,帕格(前翡翠)能够插值。你已经看过官方的玉郎参考资料了吗?阅读本节了解更多信息

首先要做的是将JSON解析成一个可以在jade模板中访问的对象。你可以用快车、大口大口、咕噜声等多种方式来完成

例如,对象的名称是
interpolated
,它看起来是这样的:

interpolated = {
  0: {name: "zero", desc: "the additive identity"},
  1: {name: "one", desc: "the multiplicative identity"},
  2: {name: "two", desc: "the first prime number"}
}
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
以下是默认的Javascript行为。要在模板中插入此项,应如下所示:

interpolated = {
  0: {name: "zero", desc: "the additive identity"},
  1: {name: "one", desc: "the multiplicative identity"},
  2: {name: "two", desc: "the first prime number"}
}
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
我猜这是第一印象,阅读文档,你会很快学会