Node.js Jade:在JavaScript中使用条件

我正在用Jade模板引擎创build一个Node.js网页。 我需要在表内创build行和列,这取决于input的值:

- var gpu_count = #{GPU_count}; for (var g = 0; g < gpu_count; g++) tr - for (var v = 0; v < 15; v++) td.vcardTextValue somevaluegoeshere 

#{GPU_count}是我input到Jade文档的一个数字。 我希望for循环的迭代次数等于gpu_count。 但不幸的是,当我加载页面时,出现这个错误:

 Error at new JS_Parse_Error (C:\Users\whoever\Documents\nodejs\node_modules\jade\node_modules\with\node_modules\uglify-js\lib\parse.js:196:18) at js_error (C:\Users\whoever\Documents\nodejs\node_modules\jade\node_modules\with\node_modules\uglify-js\lib\parse.js:204:11) at parse_error (C:\Users\whoever\Documents\nodejs\node_modules\jade\node_modules\with\node_modules\uglify-js\lib\parse.js:296:9) at Object.next_token [as input] (C:\Users\Anna\Documents\nodejs\node_modules\jade\node_modules\with\node_modules\uglify-js\lib\parse.js:528:9) at next (C:\Users\whoever\Documents\nodejs\node_modules\jade\node_modules\with\node_modules\uglify-js\lib\parse.js:622:25) at vardefs (C:\Users\whoever\Documents\nodejs\node_modules\jade\node_modules\with\node_modules\uglify-js\lib\parse.js:1024:48) at var_ (C:\Users\whoever\Documents\nodejs\node_modules\jade\node_modules\with\node_modules\uglify-js\lib\parse.js:1037:27) at C:\Users\whoever\Documents\nodejs\node_modules\jade\node_modules\with\node_modules\uglify-js\lib\parse.js:794:30 at C:\Users\whoever\Documents\nodejs\node_modules\jade\node_modules\with\node_modules\uglify-js\lib\parse.js:683:24 at block_ (C:\Users\whoever\Documents\nodejs\node_modules\jade\node_modules\with\node_modules\uglify-js\lib\parse.js:944:20) 

我相信这是因为语法错误; 我不能把#{GPU_count}放在JavaScript里面。 那么,我将如何使一个JavaScriptvariables等于一个input值?

如果variables与JavaScript的范围相同,只需使用它的名称,如下所示:

 var gpu_count = GPU_count; 

如果您需要的值存储在页面的input元素中,如下所示:

 <input id="GPU_count"...> 

你需要使用一些东西来把页面的值发送到服务器(运行jade的地方),比如AJAX,socket.io或者类似的东西。