【问题标题】:Set view variables in ExpressJS from JavaScript通过 JavaScript 在 ExpressJS 中设置视图变量
【发布时间】:2016-03-31 05:22:34
【问题描述】:

假设我将一个变量 myvar 从我的路由器传递到视图 -

app.get('/test', function(req, res) {
    res.render('testPage', {
        myVar: true
    });
}

现在我可以像这样在脚本标签内的视图中使用这个变量 -

<script>
  var myVar = <%- JSON.stringify(myVar) %>;
  console.log(myVar); // prints 'true'
</script>

我想要做的是将视图变量 myVar 重置为 false,但这并没有发生。

<script>
  var myVarJS = <%- JSON.stringify(myVar) %>;
  console.log(myVarJS); // prints 'true'
  <%- myVar = false %>;
  myVarJS = <%- JSON.stringify(myVar) %>;
  console.log(myVarJS); // still prints 'true'
</script>

场景是可以通过一个值从路由器传递视图变量。现在我想从我的客户端 javascript 更改该变量的值。

我正在使用的视图模板引擎是 EJS。

【问题讨论】:

  • 场景是什么?您不能根据 myVar 创建新变量吗?你能告诉我们用例吗?
  • @DeendayalGarg 我已经编辑了我的问题中的最后一个代码 sn-p。
  • @DeendayalGarg 场景是你可以从路由器传递视图变量的值。现在我想从我的客户端javascript更改该变量的值。还有问题吗?
  • @rnjai 您不是在尝试从客户端 javascript 更改值,而是在解析模板时尝试更改值。问题仍然存在。为什么?
  • @trex005 解释起来有点太复杂了。我想做的是 - ”场景是你可以从路由器传递视图变量的值。现在我想改变从我的客户端 javascript 获取该变量的值。”

标签: javascript node.js express ejs


【解决方案1】:

&lt;%- myVar = false %&gt;; 更改为&lt;% myVar = false %&gt;;

【讨论】:

    猜你喜欢
    • 2017-12-22
    • 1970-01-01
    • 2014-11-21
    • 2015-04-12
    • 2014-07-13
    • 2016-11-09
    • 2022-04-14
    • 2021-11-24
    • 1970-01-01
    相关资源
    最近更新 更多