您好,有两个翡翠(现在称为哈巴狗)模板:
在page.jade中,代码如下:
// page.jade
include portion.jade
script.
var text = "#{var}"; // will convert to the variable I passed in.
#{var}
部分将成功转换为我想要的内容。
但是,如果我将这一行放在part.jade中,它将失败:
// portion.jade
script.
var text = "#{var}"; // fails to convert, remains #{var}
如何访问包含的玉文件中的变量?
答案 0 :(得分:0)
将变量放入script
元素中时,会将其作为JavaScript发送到浏览器。如果您在呈现的页面中查看源代码,则会看到以下内容:
<script>
var text = "#{var}";
</script>
相反,您想使用-
至escape your code在模板中使用此变量:
- var text = "#{var}";
请注意,那里没有script.
标签。
但是,有些事情告诉我,一旦解决了这个问题,就会弹出另一个问题。 pug不会进一步评估该字符串,它将作为字符串输出。
我强烈建议您整理出路由中的所有变量,而不要尝试在模板或包含的文件中做一些棘手的事情。以我的经验,在模板内创建变量几乎是没有必要的,经常会导致错误,并且可能难以调试。