我正在使用基于Laravel Framework的OctoberCMS,我在我的html文件{% set name = 'Juan' %}
中设置变量,我试图通过设置变量像我这样的var myName = '{{ name }}'
在我的Javascript文件中访问它,并且我警告变量myName
但不幸的是它没有显示变量myName
而不是显示整个字符串,如{{name}}
问题是你在javascript
定义了整个事情
所以,模板引擎不知道你想要什么,我建议只是在这样的Html中定义变量
所以以前你做过这个。
{% set name = 'Juan' %}
所以现在通过这个variable to js
你可以做这样的事情,为了简单。 [它不专业,我不建议它,我们可以使用我们的命名空间/对象并传递它]
<script>var myName = '{{ name }}';</script>
确保这一行不是用
js
文件写的,它必须在.htm
layout/template
或markup section
中。
然后在整个js项目中你可以访问它。
alert(myName);
如果它似乎与您无关,那么我们建议您发布可以执行此类操作的laravel代码,以便我们提供更好的工作相关解决方案。
如果您发现任何疑问请发表评论。
好的javascript文件不支持twig模板引擎所以它不会理解是什么 {{name}}变量。
但你可以像这样在这里做一个解决方法
在你的.htm twig文件中,你可以在一个范围内打印变量并使其显示:none
<span id="name" style="display: none;">{{ name }}</span>
然后像这样将它调用到你的js文件中
var name = document.getElementById("name").innerHTML
或者如果你有jquery,那么你可以这样做
var name = $("#name").val()
我希望这有帮助