Laravel 7 Разрешение неразрешимых зависимостей - Компоненты Blade - PullRequest
2 голосов
/ 13 июля 2020

Я использую новые компоненты Laravel 7 Blade. У меня есть новый компонент, который открывает модальное окно Bootstrap delete, например:

<x-delete-modal 
    :description="$task->TaskDescription" 
    :id="$task->TaskID" 
    :route="$routeForDeleteModelModal" 
    :modelInstance="$task" 
/>

Но я получаю следующую ошибку:

Разрешение неразрешимой зависимости [Параметр # 0 [ $ description]] в классе App \ View \ Components \ DeleteModal

Компонент выглядит так:

 <!-- Delete Model Modal -->
 <div class="modal fade" id="deleteModal" tabindex="-1" role="dialog" aria-labelledby="deleteModalLabel" aria-hidden="true">
    hello
</div>

Чтобы убедиться, что это не содержимое модального окна, Я удалил все это, кроме «привет».

Класс DeleteModal имеет 4 переменные:

public $description;
public $id;
public $route;
public $modelInstance;

И устроен он так:

public function __construct($description, int $id, $route, $modelInstance)
{
    $this->description = $description;
    $this->id = $id;
    $this->route = $route;
    $this->modelInstance = $modelInstance;
}

I Я не уверен, что вызывает эту ошибку - я попытался убедиться, что все мое написание правильное, уменьшив его до простого описания, а также сделав dd в конструкторе, но он терпит неудачу еще до того, как он заходит так далеко.

1 Ответ

1 голос
/ 13 июля 2020

Хотите верьте, хотите нет, но проблема была не в модальном окне, а в комментарии HTML над ним.

Мой комментарий был:

<!-- 
    ...... lots of text

    Please make sure to only include '<x-delete-modal ... />' after closing a form, as this component 
    contains a form, and HTML does not support nested form elements.
-->

Как ни странно , включение в комментарий '<x-delete-modal ... />' приводило к его полному падению. Это значит, что комментарий каким-то образом компилировался. Если кто-нибудь может объяснить, почему это происходит, мне действительно было бы интересно узнать.

Компонент работает должным образом, когда '<x-delete-modal ... />' удаляется из него.

...