15

我遇到了一个非常基本的问题,但我似乎找不到答案。我正在使用node.jsexpress我只是想将一个局部变量传递到这样的视图中:

 app.get('/', function(req, res){
  res.render("index", {locals: {
    title: "Blog",
    }
  });
});

我的索引视图同样简单:

h1= title

但是由于某种原因,我不断收到此错误,就好像从未传递局部变量一样:

 500 ReferenceError: /home/spartan/Node_Projects/test/views/index.jade:1 > 1| h1= title 2| title is not defined
> 1| h1= title
  2| title is not defined

我不知道我做错了什么!以下是我正在使用的版本:

  • 快递:3.0.0alpha1
  • 节点.JS:0.6.14
  • 翡翠:0.24.0

有人请帮忙,这样我就可以继续学习节点+快递了!

4

3 回答 3

28

您应该传递不带locals. 这可能是 express 3.0.0 中的新功能

res.render("index", {title: "Blog"});
于 2012-04-18T08:24:10.453 回答
4

h1 = title 尝试在本地评估它,您发送的标题和那个不同。要了解差异,请参阅:

- var title = 'my title' // - allows writing code
h1 = title

您应该使用的是:

h1 #{title}
于 2012-04-17T22:17:24.120 回答
1

Here is a response that I made few hours ago to a smiliar question (+ deal with layout). It shows how to pass data when rendering. (Express 3.0.0 complient)

于 2012-04-18T11:50:19.967 回答