2016-01-17 76 views
0

我將一些服務器端ejs模板轉換爲我的node.js/express應用程序的jade,但是有一塊ejs代碼讓我「不確定如何正確寫入玉。這裏的片段。將ejs片段轉換爲玉

<script type="text/javascript"> 
    window.user = <%- user || 'null' %>; 
</script> 

我試圖做玉石這樣的事情,但是這顯然是錯誤的,因爲用戶返回爲未定義。

script. 
    window.user = user || 'null'; 

我使用三元操作,這確實也嘗試給錯誤,但也不會返回用戶。

script. 
    window.user ? user : 'null'; 

我基本上有一個服務器控制器傳遞給服務器模板的用戶對象。處理從控制器到視圖的傳遞對象的正確方法是什麼?我是一個後端開發noob,所以我很抱歉如果這是一個愚蠢的問題。

回答

1

這工作,如果用戶是falsy(null,未定義,空字符串等):

script(type='text/javascript'). 
     window.user = "#{user}" || null; 

如果你一定不要逃避用戶的價值,這意味着你可能會受到CSS攻擊,您可以使用!{user}而不是#{user}

我有豆嘗試片段在這裏:http://jade-lang.com/demo/

+0

謝謝你的提示。這完全奏效。我沒有想到你可以直接在腳本中使用'#{user'}'。 – Sat