javascript - 在 symfony 4 twig 模板中分离 JavaScript 文件

标签 javascript symfony twig

我有一个问题,如何分离指定模板 Twig 文件的加载指定 javascript 文件。

例如,我得到了 admin.html.twig,它扩展了 base.html.twig,在基础中我得到了

   {% block javascripts %}

      <script src="/assets/js/core/jquery.min.js"></script>
      <script src="/assets/js/core/popper.min.js"></script>
      <script src="/assets/js/core/bootstrap-material-design.min.js"></script>
      <script src="/assets/js/plugins/perfect-scrollbar.jquery.min.js"></script>

      <script async defer src="https://buttons.github.io/buttons.j"></script>
      <script src="/assets/js/plugins/chartist.min.js"></script>
      <script src="/assets/js/plugins/bootstrap-notify.js"></script>
      <script src="/assets/js/material-dashboard.min.js"></script>
      <script src="/assets/demo/jquery.sharrre.js"></script>
      <script src="/assets/js/sparkline.js"></script>
      <script src="/assets/js/plugins/chartjs.min.js"></script>
    {% endblock %}

我得到了下一个文件,例如dashboard.html.twig,它扩展了admin.html.twig文件,我的问题是在dashboard.html.twig文件中我得到了一些自己编写的小javascript代码,并且这个javascript当然使用jquery库,但是我在base.html.twig文件中加载了这个库,这是我自己编写的脚本的下一个,该脚本位于dashboard.html.twig中。

我的问题是,我如何加载我的小JavaScript代码(当然我可以将其保存在单独的文件中,例如mycode.js),但是如何仅在我使用dashboard.html.twig文件的这条路线时加载加载 jquery 后?因为在另一个路由器中我不需要这个 mycode.js 所以我不想将它放入 javascript block 中的 base.html.twig 文件中,有什么想法吗?

最佳答案

如果dashboard直接扩展admin,那么您可以执行以下操作以确保加载所有管理脚本并添加dashboard特定脚本:

{% extends "admin.html.twig" %}
{% block javascripts %}
    {{ parent() }} {# execute the parent block, thus loading all scripts in admin #}
    <script src="/assets/js/dashboard/mycode.js"></script>
{% endblock %}

关于javascript - 在 symfony 4 twig 模板中分离 JavaScript 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52204082/

相关文章:

javascript - 仅当元素到达窗口顶部时调用函数一次

php - Symfony2 - 数据库级别 onDelete Cascade 不会触发生命周期事件

windows - 如何在Windows下的Symfony2中使用SCSS过滤器?

javascript - 为什么我的函数无意中执行了两次?

javascript - 警告用户他们将丢失数据的最佳实践

symfony - Payum bundle : How to change the view of capture action in symfony2

php - 在 Twig 中循环并从数组中提取信息

php - 将数组传递给 Twig 时,带有特殊字符的单词消失了

php - Symfony2 和 Twig - 检查 Assets 是否存在

javascript - 将日期时间转换为有效的 JavaScript 日期