jquery - Symfony2 如何与 JQuery 配合使用?什么是 Assets 转储?为什么?

标签 jquery symfony twig assetic

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

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

基本上,我想要做的是将我的 JQuery 库放在 app/Resources/js/ 下 然后,在我的任何 bundle 内的任何 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 代码没有被执行!

最佳答案

您在 assetic twig 实现中遗漏了一些东西。你应该 做:

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

如果没有第二行,jquery 就不会被真正加载。

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

<script src="{{ asset('/js/jquery-1.8.0.js') }}" type="text/javascript"></script>

关于jquery - Symfony2 如何与 JQuery 配合使用?什么是 Assets 转储?为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12028808/

相关文章:

symfony - 你能在 symfony2 中选择性地加载设备吗

symfony - 根据字段值更改奏鸣曲管理包中的行颜色

symfony - 如何从Twig中的多维数组获取值?

php - Symfony 2 和项目

php - 如何使用Twig的属性函数访问嵌套对象属性

javascript - PHP header ("Location:index.html") 或 php 中的 javascript 无法正常工作

javascript - JS/CSS 旋转 DIVS 以在任何屏幕中间相遇

javascript - 在弹出元素中打开一个 url(获取新的标题和地址栏)

javascript - 从 React 组件函数中的另一个文档调用普通的 javascript 函数

php - 为什么 symfony 断言在编辑页面上没有验证属性时不起作用?