如何将 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 不喜欢混合空格和制表符并开始抛出讨厌的异常。删除所有选项卡后一切正常。空间是要走的路。
这听起来像是一个非常基本的问题,也可能是一个非常基本的问题。我刚开始学习节点,但我被困在一些我觉得很愚蠢的事情上。
我的路线定义如下
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 不喜欢混合空格和制表符并开始抛出讨厌的异常。删除所有选项卡后一切正常。空间是要走的路。