在OctoberCMS Javascript文件中访问Twig变量

问题描述 投票:0回答:2

我正在使用基于Laravel Framework的OctoberCMS,我在我的html文件{% set name = 'Juan' %}中设置变量,我试图通过设置变量像我这样的var myName = '{{ name }}'在我的Javascript文件中访问它,并且我警告变量myName但不幸的是它没有显示变量myName而不是显示整个字符串,如{{name}}

javascript twig octobercms
2个回答
0
投票

问题是你在javascript定义了整个事情

所以,模板引擎不知道你想要什么,我建议只是在这样的Html中定义变量

所以以前你做过这个。

{% set name = 'Juan' %}

所以现在通过这个variable to js你可以做这样的事情,为了简单。 [它不专业,我不建议它,我们可以使用我们的命名空间/对象并传递它]

<script>var myName = '{{ name }}';</script>

确保这一行不是用js文件写的,它必须在.htm layout/templatemarkup section中。

然后在整个js项目中你可以访问它。

alert(myName);

如果它似乎与您无关,那么我们建议您发布可以执行此类操作的laravel代码,以便我们提供更好的工作相关解决方案。

如果您发现任何疑问请发表评论。


0
投票

好的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()

我希望这有帮助

© www.soinside.com 2019 - 2024. All rights reserved.