Rumah  >  Soal Jawab  >  teks badan

Tidak berjaya melaksanakan kod JavaScript dalam Blade

Saya mempunyai fail bernama all.blade.php yang kelihatan seperti ini:

@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

Ini ialah content.blade.php:

@extends('admin.master')

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

Ini ialah master.blade.php:

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

Masalahnya sekarang ialah @push('scripts') ... @endpush tidak berfungsi dan mesej amaran manis tidak dipaparkan.

Jadi apa masalahnya di sini? Bagaimanakah saya boleh menyelesaikan masalah ini dan memanggil @component dan @tolak bersama pada bilah?

P粉476046165P粉476046165211 hari yang lalu378

membalas semua(2)saya akan balas

  • P粉681400307

    P粉6814003072024-02-26 14:09:17

    Cuba Ctrl+U untuk menyemak sama ada komponen itu ditunjukkan kepada kedudukannya. Juga ambil perhatian bahawa jika anda menggunakan perpustakaan Swallibrary JS, kod Swallibrary sebenar dimuatkan sebelum fungsi fire() dipanggil.

    Akhir sekali, sila semak pilihan konsol penyemak imbas anda untuk menentukan sama ada ia adalah ralat JS dan bukan ralat Blade.

    balas
    0
  • P粉494151941

    P粉4941519412024-02-26 12:58:45

    Ganti urutan @push@component

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

    Pilihan lain ialah menukar utama kepada komponen

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

    dan tukar kandungan kepada komponen

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

    Anda kemudian boleh menulis all.blade.php sebagai

    
        
            sssccc
        
        

    All

    balas
    0
  • Batalbalas