Livewire разделяет компоненты в макетах с помощью элементов и секций

#laravel-8 #laravel-livewire

Вопрос:

 class Authenticate extends Component
{
    public string $email = 'sadsadsasad';
    public string $firstName = '';
    public string $lastName = '';
    public string $password = '';
    public string $passwordConfirmation = '';

    /**
     * @return User
     */
    public function register(): User
    {
        dd('here');
        $data = $this->validate([
            'email' => 'required'
        ]);


        return new User();
    }

    public function mount()
    {
        $this->email = 'sadsadsasad';
    }

    public function render()
    {
        return view('livewire.authenticate')
            ->extends('layouts.app')
            ->section('content');
    }
}
 
 <!doctype html>
<html lang="{{ str_replace('_', '-', app()->getLocale()) }}">
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">

    <!-- CSRF Token -->
    <meta name="csrf-token" content="{{ csrf_token() }}">

    <title>{{ config('app.name', 'Laravel') }}</title>

    @livewireStyles
</head>
<body>
<div>
    @yield('content')
</div>


@livewireScripts
</body>
</html>
 
 @extends('layouts.app') // I've tried with or without it
@section('content')

                        <form name="register-form" wire:submit.prevent="register" method="post" class="authenticate-form">
                            @csrf
                            <div class="form-row">
                                <div class="form-group col-md-6">
                                    <input wire:model="first_name" type="text" id="first-name" name="first_name" placeholder="First Name *">
                                </div>
                                <div class="form-group col-md-6">
                                    <input type="text" name="last_name" placeholder="Last Name *">
                                </div>
                            </div>
                            <div class="form-group">
                                <input type="email" wire:model="email" id="email" name="email" placeholder="Email *">
                                @error('email') <span>{{ $message }}</span> @enderror
                            </div>
                            <div class="form-group">
                                <input type="password" name="password" placeholder="Password">
                            </div>
                            <div class="form-group">
                                <input type="password" name="password_repeated" placeholder="Repeat Password">
                            </div>

                            <div class="pricing-btn pt-30">
                                <button type="submit" class="btn">Register</button>
                            </div>
                        </form>
                  
@endsection

 

Я перепробовал все, чтобы это работало с наследованием шаблонов Laravel. Ничего не работает. Я понятия не имею, что происходит, если я включу компонент с @livewire («аутентификация»), он отлично работает. Но когда я пытаюсь сделать это с выходом, расширением и разделом, он отказывается работать, но визуализируется…

https://laravel-livewire.com/docs/2.x/rendering-components#custom-layout — Я перепробовал все в документах

Комментарии:

1. а ваш маршрут? вы ссылаетесь на это в web.php досье?

2. Да, я. Я удалил раздел и расширения из представления livewire, и это работает…

3. конечно, как вы и сказали, я тоже это пробовал! хорошее кодирование!