首页 > 解决方案 > 将脚本添加到部分内的 javascripts 块

问题描述

我有一些在不同页面上使用的 UI 元素,所以我将它们放在单独的模板上(部分)

在这个部分里面我想要一些 js 交互,所以我添加了一个{% block javascripts %}想要的script

问题是,因为我只是在我需要的不同页面上包含这个模板,它不会扩展任何布局/其他模板

这是我的部分

<div class="ui list inverted">
    {% for follow in follows.currentPageResults %}
        {{ include('backend/partials/follows_pagination_item.html.twig', {series:follow.series}) }}
    {% endfor %}
</div>

{% if linkToPagination is defined and linkToPagination is same as(true) %}
    <div class="ui row">
        <div class="ui right floated">
            <a href="{{ url('admin_profile_follows', {page:1}) }}" class="ui tiny button teal">
                {{ 'admin.follows.go'|trans }}
            </a>
        </div>
    </div>
{% else %}
    {% if follows.haveToPaginate %}
        {{ pagerfanta(follows, 'semanticui_inverted', {'routeName': 'admin_profile_follows', 'routeParams':{'page':'page'}}) }}
    {% endif %}
{% endif %}

{% block javascripts %}
    {{ parent() }}
    <script src="{{ asset('build/unfollow.js') }}"></script>
{% endblock %}

我像这样包括它

{{ include('backend/partials/follows_pagination.html.twig', {linkToPagination:true}) }}

我需要这个父级(或等效函数),因为没有这个,脚本不会添加到 DOM 中的正确位置,我得到了错误webpackJsonp is undefined(我的 js 文件是用 webpackEncore 构建的)

有没有办法在 javascripts 块中正确添加我的脚本?

如果不是,我想我不应该使用 include 函数,而是另一个?

标签: javascripttwigsymfony4webpack-encore

解决方案


推荐阅读