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

时间:2013-10-25 23:06:50

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

但这不是我想要编写数组的方式 我想这样写:

- var grid = [[1, 0, 1],
              [0, 1, 0]];

这不起作用,因为jade已经超出了内联javascript

- var grid = [[1, 0, 1],
             - [0, 1, 0]];

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

我怎样才能让它发挥作用?

2 个答案:

答案 0 :(得分: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"
    }]
  }]

答案 1 :(得分:1)

  编辑:是的,这些都是真的!请查看关于如何解决此问题的其他答案。

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

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