访问 {{ }} symfony twig 内的 javascript 变量

Ham*_*za 1 javascript twig symfony-2.3

我有一个数组 arr 从控制器发送到包含一些 JavaScript 脚本的 twig 模板,我想使用 for 循环来访问数组的行,如下所示:

for (var i = 0; i < 3; i++) {
                alert('{{ arr[i] }}');
            }
Run Code Online (Sandbox Code Playgroud)

但变量 i 未知,我收到此错误:

变量“i”不存在。

有什么建议么?

小智 5

这是如何通过 twig 从控制器获取 php 数组到 javascript 数组:

控制器

return $this->render(
    'AppBundle:index.html.twig',
     array(
         'myArray' => array('foo', 'bar', 'z')
     )
);
Run Code Online (Sandbox Code Playgroud)

树枝视图

{% block javascripts %}
    <script type="text/javascript">
        var myArray = '{{ myArray | json_encode | raw }}';
    </script>
{% endblock %}
Run Code Online (Sandbox Code Playgroud)