2

我正在使用新的 Laravel 7 Blade 组件。我有一个新组件,它打开一个 Bootstrap 删除模式,如下所示:

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

但我收到以下错误:

类 App\View\Components\DeleteModal 中无法解析的依赖解析 [Parameter #0 [ $description ]]

该组件如下所示:

 <!-- 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;
}

我不确定是什么导致了这个错误 - 我已经尝试确保我的所有拼写都是正确的,将其减少到只是描述,并且还在dd构造函数中执行了 a ,但它甚至在它到达那么远之前就失败了。

4

1 回答 1

3

信不信由你,但问题不在于模式,而在于它上面的 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 ... />'当从组件中移除时,组件会按预期工作。

于 2020-07-13T15:15:16.253 回答