2011-04-26 56 views
3

我想知道如何在渲染之前執行js?如何用Jade執行js?

這種失敗

-#{somejs} // Outputs just the js-code 
p #{somejs()} // Executes the js-code, but doenst render the html 

//在EJS我只是寫。但是,我怎樣才能做到這一點與節點?

<%- somejs() %> 

//我儘量用快遞-messasges(https://github.com/visionmedia/express-messages)用玉來代替EJS的

+0

如果處理是複雜的,那豈不是更好地渲染玉模板之前執行您的JavaScript?例如,在調用'res.render()'的路由中。對於像交替行着色計算這樣的簡單事情,內聯' - blah()'就可以做到這一點。 – 2013-03-12 02:03:13

回答

7

對我來說,這兩個以下工作:

- var test = Math.sqrt(16); 
    div #{test} 

div #{Math.sqrt(25)}

如果可能的話,請你發表您的somejs()?你確定它正在生成一個HTML字符串嗎?

2

在玉簡單地使用- someJS()更多的例子見玉website和在readme

+0

對不起,沒有輸出 – fabian 2011-04-26 07:18:09

+0

順便說一句:我試着用Jade代替ejs來使用express-messasges(https://github.com/visionmedia/express-messages) – fabian 2011-04-26 07:21:17