我有一个Twig数组,我想将它发送到JavaScript:
<script>
var packages = {{packages}}
</script>
错误!将数组转换为字符串。
我该怎么办?
我有一个Twig数组,我想将它发送到JavaScript:
<script>
var packages = {{packages}}
</script>
错误!将数组转换为字符串。
我该怎么办?
我有一个来自Twig的数组,名为filters,这一行代码解决了问题
const filters = JSON.parse('{{ filters | json_encode | raw }}');
json_encode
Twig 过滤器将数组传递到 JavaScript 中:
Twig{% set packages = [1, 2, 3, 4] %}
<script>
var packages = {{ packages|json_encode }}
</script>
输出
<script>
var packages = [1,2,3,4]
</script>
试试这个:
//javascript
const myArray = JSON.parse('{{ packages[0] }}');
//javascript
const myArray = {{ packages[0] }};
现有的答案对我没有用。具体来说,当原始数组包含任何包含换行符(\n
)的字符串时,它会失败。
这是对我有效的方法:
let jsArray = JSON.parse('{{ twig_array|json_encode|e("js") }}');