在 Laravel Blade 中,脚本 @include 有效,但为什么 @push 无效?

In Laravel Blade, Script @include works, but why @push not working?

我用Laravel 5.3, 我使用 laravel 的默认模板 (blade) 进行布局和处理我的页面。 在这里我不能使用 @push 来包含我的脚本, 但我可以使用 @include 来正常工作。

这两个实现有什么问题?

为什么它不支持 @push,但同样的脚本可以很好地与 @include

我的代码:

  @section('scripts')
    // My Scripts //
  @show

访问时,

  @push('scripts')
     // My New Scripts //
  @endpush

这对我不起作用。

但是,如果我尝试 @include

  @include('partials.scripts')

它完美运行!

这有什么问题吗?

有什么解决办法吗?

谢谢!

@include 仅适用于 importing/including 特定的 blade 文件。

要呈现您已推送到堆栈的任何代码,您需要使用 @stack() 指令:

@push('scripts')
    // My New Scripts //
@endpush

然后

@stack('scripts')

希望对您有所帮助!