jade模板中的多行无缓冲代码

iop*_*opq 8 node.js pug

我正在尝试编写一个呈现双索引数组的模板.所以我开始写这个:

- var grid = [[1, 0, 1], [0, 1, 0]];
each row in grid
    each cell in row
        if cell
            span x
        else
            span o
Run Code Online (Sandbox Code Playgroud)

但这不是我想写我的数组我想写这样的:

- var grid = [[1, 0, 1],
              [0, 1, 0]];
Run Code Online (Sandbox Code Playgroud)

这不起作用,因为jade已经不在内联javascript中

- var grid = [[1, 0, 1],
             - [0, 1, 0]];
Run Code Online (Sandbox Code Playgroud)

这不起作用,因为玉认为这两个不正确的行而不是一行

我怎样才能使它工作?

kad*_*ian 9

更新:Multiline defs现在正在使用Jade 1.11.0.即使嵌套的JSON现在也像魅力一样.

-
  projects = [{
    title: "Project 1",
    classname: "project1",
    slides: [{
      title: "Slide 1"
      img: "images/hello.png"
    },{
      title: "Slide 2"
      img: "images/world.png"
    }]
  }, {
    title: "Project 2",
    classname: "project2",
    slides: [{
      title: "Slide 3"
      img: "images/fun.png"
    },{
      title: "Slide 4"
      img: "images/things.png"
    }]
  }]
Run Code Online (Sandbox Code Playgroud)


Som*_*ens 1

编辑:是的,这些是真的!去看看其他答案,了解如何实现这一点。

遗憾的是,目前这在 Jade 中是不可能的。TJ(维护者)表示他并不关心这一点,但欢迎提出功能请求。 https://github.com/visionmedia/jade/issues/796

幸运的是,您可以在 JS 文件中声明该数组并将其作为变量传递给 Jade。