如何将Jade字符串插值传递给JS脚本文件?

时间:2017-07-14 20:05:53

标签: javascript pug

我的Jade文件是这样的:

script(text='text/javascript', src='/javascript/user_options.js')
    var firstName = #{firstnameDisplay};

我的user_options.js:

var displayName = firstName;

我仍然将'firstName'变量视为未定义。正确定义了Jade文件中的字符串插值#{firstnameDisplay}。任何想法或解决方案?有没有办法在Jade中声明JS变量并在JS脚本文件中使用它?

其他来源在线推荐JSON,但我更喜欢使用Jade字符串插值。

2 个答案:

答案 0 :(得分:2)

不要这样做...生成js代码那样有一堆缺点。最好将该值放在隐藏字段中,或者作为某个元素中的数据属性,然后在您的js文件中,您可以要求该值。

第一个选项

input(type="hidden", value=#{firstnameDisplay}, id="firstNameDisplay")

第二个选项

div(id="firstNameDisplay", data-firstNameDisplay=#{firstnameDisplay})

然后您可以使用JQuery或Vanilla js检索该值。

var displayName = document.getElementById('firstNameDisplay').value

var displayName  = document.getElementById('firstNameDisplay').dataset.firstNameDisplay;

答案 1 :(得分:0)

你需要尝试这样的事情

script.
    var firstName = #{firstnameDisplay};

script(text='text/javascript', src='/javascript/user_options.js')