我将变量title
传递给我的html文档,然后像这样访问它:
<h2><%= title %></h2>
如何在<script>
标记内访问相同的变量?
我尝试了以下但它给了我一个错误:
<script>
console.log(title);
</script>
未捕获的ReferenceError:未定义标题
这是因为变量的范围不同吗?
修改 我希望在这篇文章中保持简单,但根据答案,我意识到我应该提到我使用外部文件作为我的脚本:
<script src="/javascripts/script.js"></script>
在这个脚本中,我使用jQuery来处理一些事情,我需要变量title
。
答案 0 :(得分:3)
由于模板的性质,您无法在渲染输出中访问模板变量。但是,您可以呈现一个同名的javascript变量,该变量设置为模板变量的文字值。例如:
<script>
var title = <%- JSON.stringify(title) %>;
console.log(title);
</script>
答案 1 :(得分:0)
您必须执行shown is this answer之类的操作。
<script>
var title = <%- JSON.stringify(title) %>;
</script>
答案 2 :(得分:0)
如何在
<script>
代码中访问相同的变量?
你做不到。运行在服务器上的程序中的变量无法由客户端上运行的程序访问。
由于您已将复制变量的值复制到页面的DOM中,因此您可以读取从那里保存的值。
console.log(document.querySelector('title').firstChild.data);
答案 3 :(得分:0)
我是这样定义的-
<body>
<h2 style = "visibility:hidden" id = "events"><%= events %></h2>
<script>
function initMap (){
var list =document.getElementById('events').innerHTML ;
console.log("list = ", list)
}
</script>