我的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字符串插值。
答案 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')