简体   繁体   English

Node.js,如何在PUG / Jade视图中将参数传递给Javascript

[英]Nodejs, how to pass parameters to Javascript in PUG/jade views

I want to pass a variable when rendering my view and use this variable in client side Javascript. 我想在渲染视图时传递一个变量,并在客户端Javascript中使用此变量。 I already got partially, but it's rendering wrong. 我已经有一部分了,但是这是错误的。 I use PUG view (or Jade). 我使用PUG视图(或Jade)。

Example: 例:

Server Side 服务器端

res.render('xyzView', { xyzVal: 'my_values_xyz'});

Client Side : PUG view 客户端 :PUG视图

extends ../layout
block content
    script(type='text/javascript')
        var getVal= #{xyzVal};

It's creating a tag <var></var> on output instead var only, like this: 它在输出上创建标签<var></var>而不是var ,如下所示:

//- other HTML tags and codes
//-..
//-..
<script type="text/javascript">
    <var>getVal = 'my_values_xyz'</var>   /// <<<<<====== THE PROBLEM IT'S HERE
</script>

The right way should be: 正确的方法应该是:

//- other HTML tags and codes
//-..
//-..
<script type="text/javascript">
    var getVal = 'my_values_xyz';
</script>

How to fix that? 如何解决?

You want to add plain text 您要添加纯文本

extends ../layout
block content
    script(type='text/javascript')
        | var getVal= #{xyzVal};

Add a '.' 添加一个“。” after script like this: 像这样的脚本之后:

script(type='text/javascript').
    var getVal= #{xyzVal};

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM