从Twig调用JavaScript函数
我正在处理一个Symfony2项目,我想调用一个JavaScript函数并从一个小树枝传递一个JSON对象数组(我从控制器获得) 但是第一个非常简单的测试已经失败了,比如: main.js: 链接到细枝中的main.js并调用函数:从Twig调用JavaScript函数,javascript,symfony,twig,Javascript,Symfony,Twig,我正在处理一个Symfony2项目,我想调用一个JavaScript函数并从一个小树枝传递一个JSON对象数组(我从控制器获得) 但是第一个非常简单的测试已经失败了,比如: main.js: 链接到细枝中的main.js并调用函数: <body> <script>helloWorld("world!")</script> {% block javascripts %} <script src="{{ asset('js/
<body>
<script>helloWorld("world!")</script>
{% block javascripts %}
<script src="{{ asset('js/main.js') }}"></script>
{% endblock %}
</body>
helloWorld(“世界!”)
{%block javascripts%}
{%endblock%}
这会导致引用错误:
“未捕获引用错误:未定义helloWorld”
我必须采取哪些不同的措施才能使这项工作顺利进行?
编辑:感谢两位花时间回答问题的人。所描述的细枝实际上由一堆嵌套的细枝组成,javascript包含的位置基于猜测,这就是为什么我没有看到明显的原因。我自己在用短语表达问题时应该已经检测到了这个问题。…带有
helloWorld
定义的脚本是在函数执行后放置的。这意味着JavaScript还不知道函数并触发此错误
解决方案:将javascript放在导入的下方(例如在javascripts块中的
之前),或将导入放在页面javascript之前(例如在头部)。颠倒函数的顺序:
<body>
{% block javascripts %}
<script src="{{ asset('js/main.js') }}"></script>
{% endblock %}
<script>helloWorld("world!")</script>
</body>
{%block javascripts%}
{%endblock%}
helloWorld(“世界!”)
<body>
{% block javascripts %}
<script src="{{ asset('js/main.js') }}"></script>
{% endblock %}
<script>helloWorld("world!")</script>
</body>