json - 带有对象的 Jade/Pug JSON 插值

标签 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>

很抱歉含糊不清。帕格有这个能力吗?我非常怀疑。如果没有,请推荐替代品。

最佳答案

是的,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
猜猜这是第一印象,阅读文档,你会很快学会。

关于json - 带有对象的 Jade/Pug JSON 插值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38760860/

相关文章:

java - 改造将对象数组转换为 GSON 错误

json - 如何在 JSON 数据的 Typescript 声明文件中使用破折号?

html - 如何让 Pug 模板将变量值而不是变量名称发送到电子邮件应用程序?

javascript - 为文件类型 (.pug) 添加自定义 VS Code 设置

html - 将 .pug 编译为 html 后加载外部 CSS

node.js - 如何使用 gulp-inject 将修订后的资源正确注入(inject)到 jade 模板中?

javascript - 如何使用NodeJS + ExpressJS传递一个数组给Jade显示?

javascript - Ext Js面板空时间字段

javascript - 根据 JSON 结果构建选择选项

javascript - 通过比较对象属性按原样返回对象(不排序)