我有一个控制器,它将一个数组传递给一个树枝模板,我想在该页面上编写的脚本中使用它。我该怎么做呢?
我已经在我的 .twig 模板中尝试过这个:
<script>
$(document).ready(function(){
var test = {{ testArray }};
});
</script>
但这仅在它是字符串时才有效。
原文由 clifford.duke 发布,翻译遵循 CC BY-SA 4.0 许可协议
我有一个控制器,它将一个数组传递给一个树枝模板,我想在该页面上编写的脚本中使用它。我该怎么做呢?
我已经在我的 .twig 模板中尝试过这个:
<script>
$(document).ready(function(){
var test = {{ testArray }};
});
</script>
但这仅在它是字符串时才有效。
原文由 clifford.duke 发布,翻译遵循 CC BY-SA 4.0 许可协议
json_encode
与 raw
过滤器结合使用效果很好。
<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 许可协议
10 回答11.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决
3 回答2.3k 阅读✓ 已解决
3 回答2.1k 阅读✓ 已解决
您可能必须
json_encode
数组,试试这个: