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

How do I pass a json object to jade template?

这听起来像是一个非常基本的问题,也可能是一个非常基本的问题。我刚开始学习节点,但我被困在一些我觉得很愚蠢的事情上。

我的路线定义如下

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的jade模板定义如下

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" } 移动到路由器中?

所以在经过大量 google 和挠头之后,归结为在 jade 视图中混合空格和制表符。显然 jade 不喜欢混合空格和制表符并开始抛出讨厌的异常。删除所有选项卡后一切正常。空间是要走的路。