1

我对 Symfony2 框架还很陌生,在阅读了以下文档http://symfony.com/doc/current/cookbook/assetic/asset_management.html#dumping-asset-files后仍然不太了解如何包含 JQuery lib

我见过类似的问题,但没有一个能解释一切如何协同工作?为什么我们需要抛弃资产?为什么将它们包含在模板中是不够的?

基本上,我想要做的是将我的 JQuery 库放在app/Resources/js/下 ,然后在我的任何包内的任何 Twig 模板中,我想引用/包含这个 JQuery 库以便能够编写 JQuery 脚本代码. 我需要修改我的app/config/config.yml文件吗?

请提供一个示例以及您的解释。以下是我到目前为止所做的(以下所有内容都在一个 Twig 模板中):

{% javascripts 'app/Resources/js/jquery-1.8.0.js' %}
<script type="text/javascript">
$(document).ready(function (){
    $('a').click(function(event){
        $('#box').fadeOut();
    });
}); 
</script>
{% endjavascripts %}

<div id="box">
    <a href="#">click me</a>
</div>

页面加载没有任何问题,但是当我点击“点击我”时,JQuery 代码没有被执行!

4

1 回答 1

6

您在资产树枝实施中遗漏了一些东西。你应该做:

{% javascripts 'app/Resources/js/jquery-1.8.0.js' %}
<script type="text/javascript" src="{{ asset_url }}"></script>
...

如果没有这第二行,jquery 就不会实际加载。

在任何情况下,使用资产是可选的。如果您对它不满意,则不需要它提供的优化或更喜欢使用更熟悉的东西,直到您掌握它的窍门,然后将 jquery 文件放在您的“web”文件夹中的某个位置(例如在 js 子文件夹下),然后像加载任何其他资产文件一样加载它:

<script src="{{ asset('/js/jquery-1.8.0.js') }}" type="text/javascript"></script>
于 2012-08-19T22:47:53.647 回答