我有一个数组ARR从控制器到含有一些JavaScript脚本枝杈模板的发送,我想使用for循环到阵列的访问的行是这样的:访问内的JavaScript变量{{}}的symfony枝杈
for (var i = 0; i < 3; i++) {
alert('{{ arr[i] }}');
}
但变量i是未知的,我得到这个错误:
变量 “i” 不存在。
有什么建议吗?
我有一个数组ARR从控制器到含有一些JavaScript脚本枝杈模板的发送,我想使用for循环到阵列的访问的行是这样的:访问内的JavaScript变量{{}}的symfony枝杈
for (var i = 0; i < 3; i++) {
alert('{{ arr[i] }}');
}
但变量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 %}
谢谢你的工作,以防万一有人需要这个,解析你可以使用的数组myArray:var jsonData = JSON.parse(myArray); – Hamza
Twig是PHP。您将其值发送给JavaScript,但不能将JavaScript变量带到php中。 (除AJAX等......但在这里不相关)
可能:
/* javascript variable */
var name = {{ object.name }}
console.log(name);
不可能:
/* javascript variable */
var name = 'toto';
{# Twig #}
{{ name }} // <- IMPOSSIBLE
你不能那样做。 JavaScript变量'i'仅在运行时可用。 你需要做的是将你的'树枝数组'解析为一个javascript。 [相关](http://stackoverflow.com/questions/13928729/use-javascript-to-access-a-variable-passed-through-twig) – DarkBee
我该怎么做? – Hamza
我们不知道你想做什么,添加一个更好的例子 – goto