Laravel 6 @yield在include方法中不起作用

问题描述

为什么@yield('script')不起作用?

我在这样的PHP laravel Blade master.blade.php 文件中创建布局

@include('layouts.header')
@include('layouts.sidebar')
<div class="main-panel">
    <!-- Navbar -->
@include('layouts.navbar')
<!-- End Navbar -->
    <div class="content">
        <div class="container-fluid">
            @yield('content')
        </div>
    </div>
</div>
</div>
@include('layouts.footer')

我在@yield('script')中添加了layouts.footer,以使用@section('script')编写脚本代码。

layouts.footer 文件

....
<script src="{{ asset('./assets/js/core/jquery.min.js') }}"></script>
@yield('script')
...
  </body>
</html>

当我在刀片页面中使用section('script')时不起作用
我这样使用@yield('script')

@extends('layouts.master')

@section('content')
   <div>
      <button class="btn btn-sm btn-outline-primary" id="modal">
              Sponsored
      </button>
   </div>
@endsection

// JQuery code 
@section('script')
    <script>
        $(document).on("click","#modal",function () {
            alert('hello world');
        });
    </script>
    @endsection

解决方法

Blade允许您推送到可以在另一个视图或布局中其他位置呈现的命名堆栈。这对于指定子视图所需的任何JavaScript库特别有用:

这是includescripts的错误方式。

您可以使用links。有关stack

的更多信息

layouts.footer 文件

@stack

刀片文件

<script src="{{ asset('./assets/js/core/jquery.min.js') }}"></script>
@stack('script')

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...