【问题标题】:Node.js Jade: Using conditionals within JavaScriptNode.js Jade:在 JavaScript 中使用条件
【发布时间】:2014-01-05 21:01:12
【问题描述】:

我正在使用 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 变量等于输入值呢?

【问题讨论】:

    标签: javascript node.js conditional pug


    【解决方案1】:

    如果变量与 JavaScript 在同一个范围内,只需使用它的名称,如:

    var gpu_count = GPU_count;
    

    如果你需要的值存储在页面的一个输入元素中,如:

    <input id="GPU_count"...>
    

    您需要使用 AJAX、socket.io 或类似的东西将值从页面发送到服务器(jade 正在运行的地方)。

    【讨论】:

    • 好的,谢谢,我稍后测试一下。但是不要担心将值从页面发送到服务器;这已经有效了。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多