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

时间:2013-12-17 21:46:40

标签: javascript node.js conditional pug

我正在使用Jade模板引擎制作Node.js网页。我需要在表中创建行和列,具体取决于输入的值:

- 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}是我输入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中。 那么我如何使JavaScript变量等于输入值?

1 个答案:

答案 0 :(得分:1)

如果变量与JavaScript的范围相同,只需使用它的名称,如:

var gpu_count = GPU_count;

如果您需要的值存储在输入元素的页面上,如:

<input id="GPU_count"...>

您需要使用一些东西将页面中的值发送到服务器(运行jade的地方),如AJAX,socket.io或类似内容。