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 ?
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.
Remplacer la commande de
@push
和@component
Une autre option consiste à convertir le main en composant
et convertir le contenu en composants
Vous pouvez alors écrire all.blade.php comme