JavaScript-Code kann in Blade nicht erfolgreich ausgeführt werden
P粉476046165
P粉476046165 2024-02-25 18:05:56
0
2
413

Ich habe eine Datei namens all.blade.php, die so aussieht:

@component('admin.layouts.content' , ['title' => 'example file'])
   @slot('breadcrumb')
        <li class="breadcrumb-item active">Example File</li>
   @endslot
   ...
@endcomponent

@push('scripts')
    <script>
        Swal.fire({
            title: 'Do you want to save the changes?',
            showDenyButton: true,
            showCancelButton: true,
            confirmButtonText: 'Save',
            denyButtonText: `Don't save`,
        }).then((result) => {
            /* Read more about isConfirmed, isDenied below */
            if (result.isConfirmed) {
                Swal.fire('Saved!', '', 'success')
            } else if (result.isDenied) {
                Swal.fire('Changes are not saved', '', 'info')
            }
        })
    </script>
@endpush

Das ist content.blade.php:

@extends('admin.master')

@section('content')
   {{ $slot }}
@endsection

Das ist master.blade.php:

<!DOCTYPE html>
  <html>
     <head>
        ...
        @stack('scripts')
     </head>
     <body>
        @yield('content')
     </body>
   </html>

Das Problem ist jetzt, dass @push('scripts') ... @endpush nicht funktioniert und die süße Warnmeldung nicht angezeigt wird.

Was ist hier also das Problem? Wie kann ich dieses Problem lösen und @component und @push gemeinsam auf dem Blade aufrufen?

P粉476046165
P粉476046165

Antworte allen(2)
P粉681400307

尝试 Ctrl+U 检查该组件是否呈现到其位置。另请注意,如果您使用的是 Swallibrary JS 库,那么实际的 Swallibrary 代码会在调用 fire() 函数之前加载。

最后请检查浏览器控制台选项以确定是否是某些 JS 错误,而不是刀片错误。

P粉494151941

调换 @push@component 的顺序

@push('scripts')
    
@endpush

@component('admin.layouts.content' , ['title' => 'example file'])
   @slot('breadcrumb')
        
@endslot ... @endcomponent

另一种选择是将转换为组件



  
     
        ...
        {{ $scripts ?? '' }}
     
     
        {{ $slot }}
     
   

并将内容转换为组件



    
       {{ $scripts ?? '' }}
    
    {{ $slot }}

   

然后你可以将all.blade.php编写为


    
        
    
    

All

Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!