Impossible d'exécuter avec succès le code JavaScript dans Blade
P粉476046165
P粉476046165 2024-02-25 18:05:56
0
2
434

J'ai un fichier appelé all.blade.php qui ressemble à ceci :

@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

C'est content.blade.php :

@extends('admin.master')

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

C'est master.blade.php :

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

Le problème maintenant est que @push('scripts') ... @endpush ne fonctionne pas et le doux message d'alerte ne s'affiche pas.

Alors, quel est le problème ici ? Comment puis-je résoudre ce problème et appeler @component et @push ensemble sur la lame ?

P粉476046165
P粉476046165

répondre à tous(2)
P粉681400307

Essayez Ctrl+U de vérifier si le composant est rendu à sa position. Notez également que si vous utilisez la bibliothèque Swallibrary JS, le code Swallibrary réel est chargé avant l'appel de la fonction fire().

Enfin, veuillez vérifier les options de la console de votre navigateur pour déterminer s'il s'agit d'une erreur JS et non d'une erreur Blade.

P粉494151941

Remplacer la commande de @push@component

@push('scripts')
    sssccc
@endpush

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

Une autre option consiste à convertir le main en composant



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

et convertir le contenu en composants



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

   

Vous pouvez alors écrire all.blade.php comme


    
        sssccc
    
    

All

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal