wBB
wBB

Reputation: 851

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. I already got partially, but it's rendering wrong. I use PUG view (or Jade).

Example:

Server Side

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

Client Side: PUG view

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:

//- 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?

Upvotes: 1

Views: 1759

Answers (2)

Manos Kounelakis
Manos Kounelakis

Reputation: 3161

Add a '.' after script like this:

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

Upvotes: 2

marzelin
marzelin

Reputation: 11600

You want to add plain text

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

Upvotes: 2

Related Questions