gpt4 book ai didi

jquery - 如何在子模板中的 JavaScript 标签之前从布局模板加载带有 Assetic 的 jQuery?

转载 作者:行者123 更新时间:2023-12-01 06:36:34 25 4
gpt4 key购买 nike

正如我们在Symfony2 documentation中读到的那样, JavaScript 文件必须在 body 标记的底部声明。

但是,如果我在布局模板中声明 jQuery 库,并且想在子模板中使用 jQuery,则会出现此错误:

$ is not defined

看起来 jQuery 是在我的 script 标签之后加载的。当我将警报消息放在 jQuery 文件的顶部时,会显示警报。

知道之前加载 jQuery 吗?

在下面找到我的基础、布局和子模板。

app/Resources/views/layout.html.twig:

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
{% block stylesheets %}
{# ... #}
{% endblock %}
</head>

<body>
<div id="container">
{# ... #}
</div>

{% block javascripts %}
{% endblock %}
</body>
</html>

src/MyBundle/resources/views/layout.html.twig:

{% extends "::layout.html.twig" %}

{% block main %}
{% block mybundle_body %}
{% endblock %}
{% endblock %}

{% block javascripts %}
{% javascripts
'@MyBlogBundle/Resources/public/js/jquery-1.8.3.min.js' %}
<script src="{{ asset_url }}"></script>
{% endjavascripts %}
{% endblock javascripts %}

src/MyBundle/resources/views/MyBundle/modify.html.twig:

{% extends "MyBundle::layout.html.twig" %}

{% block mybundle_body %}

<script type="text/javascript">
// Enable the file uploader
$(function() { // my error here : $ is not defined
new PunkAveFileUploader({
{# ... #}
});
});
</script>
{% endblock %}

非常感谢。

最佳答案

嗯,就像你说的,jQuery 是在你的 <script> 之后加载的。标记,因此当您的脚本尝试使用 jQuery(带有 $ 符号)时,jQuery 尚未定义。

我会移动 {% block javascripts %}到 head 标签。

关于jquery - 如何在子模板中的 JavaScript 标签之前从布局模板加载带有 Assetic 的 jQuery?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14203662/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com