从JavaScript在ExpressJS中设置视图变量
假设我将一个变量从JavaScript在ExpressJS中设置视图变量,javascript,node.js,express,ejs,Javascript,Node.js,Express,Ejs,假设我将一个变量myvar从路由器传递到视图- app.get('/test', function(req, res) { res.render('testPage', { myVar: true }); } 现在我可以在脚本标记内的视图中使用此变量,如下所示- <script> var myVar = <%- JSON.stringify(myVar) %>; console.log(myVar); // prints 'tru
myvar
从路由器传递到视图-
app.get('/test', function(req, res) {
res.render('testPage', {
myVar: true
});
}
现在我可以在脚本标记内的视图中使用此变量,如下所示-
<script>
var myVar = <%- JSON.stringify(myVar) %>;
console.log(myVar); // prints 'true'
</script>
var myVar=;
console.log(myVar);//打印“真实”
我想做的是将视图变量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>
var myVarJS=;
console.log(myVarJS);//打印“真实”
;
myVarJS=;
console.log(myVarJS);//仍然打印“真实”
这种情况下,可以使用值从路由器传递视图变量。现在,我想从客户端javascript更改该变量的值
我正在使用的视图模板引擎是EJS 改变
代码>到代码>情况如何?不能基于myVar创建新变量吗?你能告诉我们这个用例吗?@DeendayalGarg我已经编辑了我问题中的最后一个代码片段。@DeendayalGarg场景是你可以用一个值从路由器传递视图变量。现在我想从我的客户端javascript更改该变量的值。还有问题吗?@rnjai你不想更改它的值在客户端javascript中,您试图在解析模板时更改该值。问题仍然存在。为什么?@trex005解释起来有点太复杂了。我想做的是——“场景是你可以用一个值从路由器传递视图变量。现在我想从客户端javascript更改该变量的值。”