我是Symfony2框架的新手,在阅读以下文档之后仍然不太了解如何包含JQuery lib http://symfony.com/doc/current/cookbook/assetic/asset_management.html#dumping-asset-files
我见过类似的问题,但没有一个解释一切如何协同工作?为什么我们需要抛弃资产?为什么将它们包含在模板中是不够的?
基本上,我想要做的是将我的JQuery lib放在 app / Resources / js / 下 然后在我的任何我的任何软件包中的Twig模板中,我想引用/包含这个JQuery lib以便能够编写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>
页面加载没有任何问题但是当我点击'click me'时,JQuery代码没有被执行!
答案 0 :(得分:7)
您遗失了资产支持实施中的内容。你应该 做:
{% 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>