如何将json对象传递给jade模板?

时间:2015-08-03 14:02:41

标签: node.js pug

这听起来像是一个非常基本的问题,可能是一个非常基本的问题。我刚刚开始学习节点,我陷入了一些我觉得非常愚蠢的事情。

我的路线定义如下

var express = require('express');
var router = express.Router();

router.get('/', function(req, res, next){
    res.render('control', { values: { p: "This is a paragraph" }});
});

module.exports = router;

名为control的玉石模板定义如下

extends layout

block content
    each val, key in  values
        if key == "p"
            p= val

但这会引发如下错误

E:\Projects\xyz\views\control.jade:4 2| 3| block content > 4| each val, key in values 5| if key == "p" 6| p= val 7| Cannot read property 'length' of undefined

TypeError: E:\Projects\xyz\views\control.jade:4
    2| 
    3| block content
  > 4|  each val, key in  values
    5|      if key == "p"
    6|          p= val
    7| 

但如果我更改模板中的each循环,如下所示,那么一切正常

extends layout

block content
    each val, key in  { p: "This is a paragraph" }
        if key == "p"
            p= val

如何将{ p: "This is a paragraph" }移动到路由器中?

1 个答案:

答案 0 :(得分:1)

因此,经过大量的谷歌和头部刮擦,它归结为在玉视图中混合空格和标签。显然玉不喜欢混合空格和标签,并开始抛出讨厌的异常。删除所有标签后,一切正常。空间是要走的路。