2012-04-17 35 views
15

我遇到了一個非常基本的問題,但我似乎無法找到答案。我與node.js工作,express,我只是想給一個局部變量傳遞到像這樣的觀點:Express + jade:局部變量在視圖中不可用

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
  • 的Node.js:0.6.14
  • 玉:0.24.0

有人請幫助,所以我其實可以轉到學習節點+快遞!

回答

28

你應該通過變量沒有locals。這可能是新的快遞3.0.0

res.render("index", {title: "Blog"}); 
+1

非常感謝,這就是它!我只是按照一個老的教程,並不知道什麼是錯的。 – aeyang 2012-04-18 17:00:01

4

h1 =標題試圖在本地評估它,你發送的標題和一個不同的標題。理解上的差異見:

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

你應該使用的一個是:

h1 #{title} 
+0

謝謝你告訴我,我明白現在的差異。我很確定那是它,但不幸的是,當我將視圖改爲「h1#{title}」時,它給了我完全相同的錯誤信息......任何想法? – aeyang 2012-04-18 03:34:38

1

Here is a response,我提出幾個小時前的smiliar問題(+處理佈局)。它演示瞭如何在渲染時傳遞數據。 (Express 3.0.0 complient)

+0

謝謝你,你的迴應有我正在尋找的答案。 – aeyang 2012-04-18 17:09:38

相關問題