Слишком мало аргументов для функции Livewire\LivewireManager::mount(), передано 0
Заранее благодарим за полезный совет. Я использую Laravel Livewire для создания компонентов и Jetstrap для аутентификации для тех маршрутов, которые этого требуют.
На данный момент у меня настроен только один маршрут для проверки аутентификации, но после входа в систему для просмотра этого маршрута я получаю следующую ошибку:
Too few arguments to function Livewire\LivewireManager::mount(), 0 passed in /var/www/mvp/vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php on line 261 and at least 1 expected
Похоже, это происходит из класса LivewireManager внутри функции getInstance():
public function getInstance($component, $id)
{
$componentClass = $this->getClass($component);
throw_unless(class_exists($componentClass), new ComponentNotFoundException(
"Component [{$component}] class not found: [{$componentClass}]"
));
return new $componentClass($id);
}
Кажется, ожидается компонентный аргумент от класса Facade в
/vendor/laravel/framework/src/Illuminate/Support/Facades/
, но не получает нужный компонент. Я проверил код страницы, и определенно там есть компонент.
Функция Фасад, создающая ошибку:
/**
* Handle dynamic, static calls to the object.
*
* @param string $method
* @param array $args
* @return mixed
*
* @throws \RuntimeException
*/
public static function __callStatic($method, $args)
{
$instance = static::getFacadeRoot();
if (! $instance) {
throw new RuntimeException('A facade root has not been set.');
}
return $instance->$method(...$args);
}
И страница, которая должна загружать свой компонент:
@extends('layouts.app')
@section('content')
@livewire('component')
@stop
Есть простой способ решить проблему? Или я что-то упускаю?
2 ответа
У меня такая же ошибка, как у вас, когда я пытаюсь передать параметр, а затем я решаю проблему, следуя документации, изменяя способ визуализации компонента livewire с помощью директивы blade
@livewire()
в
<livewire: >
Если это кому-то поможет, причиной этой ошибки для меня было отсутствие одной из двух круглых скобок в конце:
@livewire('component', [
'currentValue' => $review->body,
'field' => 'body',
'fresh' => $fresh,
'label' => null,
'model' => $review
], key($review->object_id.'_body'))