我有一个问题,如何分离指定模板 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/