使用 Javascript 访问通过 Twig 传递的变量

新手上路,请多包涵

我有一个控制器,它将一个数组传递给一个树枝模板,我想在该页面上编写的脚本中使用它。我该怎么做呢?

我已经在我的 .twig 模板中尝试过这个:

 <script>
    $(document).ready(function(){
        var test = {{ testArray }};
});
</script>

但这仅在它是字符串时才有效。

原文由 clifford.duke 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 434
2 个回答

您可能必须 json_encode 数组,试试这个:

 <script>
    $(document).ready(function(){
        var test = {{ testArray|json_encode(constant('JSON_HEX_TAG'))|raw }};
    });
</script>

原文由 Supericy 发布,翻译遵循 CC BY-SA 4.0 许可协议

json_encoderaw 过滤器结合使用效果很好。

 <script>
    $(document).ready(function(){
        let test = {{ testArray | json_encode(constant('JSON_HEX_TAG')) | raw }};
    });
</script>

不要忘记 JSON_HEX_TAG 标志。

否则,您可能会得到损坏的 HTML。 包含 <!--<script> 的字符串 是测试它的好方法。

原文由 Sébastien 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题