2013-10-15 38 views
1

我有一個奇怪的問題是我無法在jade中傳遞變量。實際上,當我提交響應時,傳遞的變量會在客戶端顯示爲'undefined'!jade通過變量仍然undefined

這裏是的NodeJS代碼:

//username will work but name will be undefined 
res.render('new-sensor-settings', { username: req.session.username, name:'myname'}) 

這是我如何使用它在我玉文件:

label(for='s_name') Name 
input#s_name.span10(type='text', value='#{name}') 

我更新了玉最新的與「新公共管理更新玉」命令。

有什麼想法嗎?

回答

0

使用#{}插值,當你想插入一個變量到元素的文本。將它放入屬性時直接使用該變量。

label(for='s_name') Name 
input#s_name.span10(type='text', value=name) 
label#demo Yo what's up mister #{name} 
+0

我不知道爲什麼,但是當我使用這種方式時,應將其名稱替換的值將爲空,而不是'未定義'。任何想法? ('new-sensor-settings',{username:req.session.username,name:'myname'})''''input#s_name.span10(type ='text',value = name)' –

+0

' '你應該在呈現的html輸出中看到'value =「myname」''。仔細檢查一切 - 也許你在你的玉代碼的這些行上面定義了一個新變量'name',或者實際上調用'render'的方式不同?我最後的猜測是,玉可能在內部覆蓋'name'? – Plato

+0

這最終是一對夫婦不同的問題的組合,請參閱後續:http://stackoverflow.com/questions/19401773/jade-server-side-passed-variable-is-em-at-browser/19404753#19404753 – Plato