簡體   English   中英

在{{}} symfony樹枝中訪問javascript變量

[英]Accessing javascript variable inside {{ }} symfony twig

我有一個數組arr從控制器發送到包含一些JavaScript腳本的樹枝模板,我想使用for循環訪問數組的行,如下所示:

for (var i = 0; i < 3; i++) {
                alert('{{ arr[i] }}');
            }

但是變量我是未知的,我得到這個錯誤:

變量“ i”不存在。

有什么建議么?

這是如何通過樹枝將控制器中的php數組轉換為javascript數組的方法:

控制者

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

樹枝視圖

{% block javascripts %}
    <script type="text/javascript">
        var myArray = '{{ myArray | json_encode | raw }}';
    </script>
{% endblock %}

Twig是PHP。 您將其值發送到javascript,但是不能將javascript變量帶到php。 (AJAX等除外,但此處不相關)

可能:

/* javascript variable */
var name = {{ object.name }}
console.log(name);

不可能:

/* javascript variable */
var name = 'toto';
{# Twig #}
{{ name }} // <- IMPOSSIBLE

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM