当Blade包含某个@include视图时,如何仅包括jQuery函数?

时间:2019-05-15 20:45:17

标签: php jquery laravel

我试图做出一个@if语句,以便仅在将某个{Blade文件} jQuery DataTable function放入显示刀片中时显示某个@include

这听起来像使它变得比原来更难,但是我想保持@section('scripts')区域清洁,如果不需要在当前显示页面中使用它。

  1. <script>放在@include内是无效的;
  2. <script>放置在显示页面中确实有效,但会使显示页面肿;和
  3. 当前代码(请参见下文),仅检查视图是否存在,因此它将始终为TRUE
@if ( View::exists('admin.users') ) {{-- on the current Blade! --}}
    $('#usersTable').DataTable({
        "language": @json(__('datatables')),
    });
@endif

1 个答案:

答案 0 :(得分:1)

我自己也遇到过类似的问题。要解决此问题,您可以使用刀片堆栈。

我的操作方式是在主布局的页脚中,在脚本标签下方,包括我放入@stack('javascript')的js。然后,在要添加一些js的视图中,对您来说,这将在admin.users视图中添加。.

@push('javascript')
    <script>
        // my js here
    </script>
@endpush

这样,一旦包含视图,js就会被附加到页脚。

有关更多信息,请参见the docs