将变量从twig传递给js

时间:2014-12-09 14:40:55

标签: javascript php symfony variables twig

是否有某种方法可以将变量从twig传递到位于bundle的public / js目录中的javascript文件。或者我是否需要在模板中分配变量,然后包含我的脚本文件,其中将使用变量?

3 个答案:

答案 0 :(得分:23)

在模板中分配变量并使用javascript ...

进行选择
<script>
var foo = '{{ foo }}';
alert(foo);
</script>

答案 1 :(得分:22)

另一种不必将javascript文件作为模板的方法是将javascript值作为data-*属性,然后从您的javascript文件中获取。这意味着您的javascript不一定会与您的twig文件相关联。

<a href="#" data-id="{{ entity.id }}" id="some-link">Link</a>

使用jQuery ..

var id = $('#some-link').data('id');

使用常规javascript(我认为)..

var id = document.querySelector('#some-link').dataset.id;

答案 2 :(得分:0)

你可以在枝条中使用它

<script type="text/javascript">
    /* <![CDATA[ */
    var settings = {
        example: {{ 'something' | trans }}
        }
    };
    /* ]]> */
</script>

然后你可以在你的js中访问它们:

console.log(settings.example);