我似乎无法找到关于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>
抱歉模糊不清。帕格能干吗?我非常怀疑它。如果没有,请推荐替代品。
答案 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
猜猜这是第一印象,阅读文档,你会很快学会。