从Twig调用JavaScript函数

从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/

我正在处理一个Symfony2项目,我想调用一个JavaScript函数并从一个小树枝传递一个JSON对象数组(我从控制器获得)

但是第一个非常简单的测试已经失败了,比如:

main.js:

链接到细枝中的main.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>