【问题标题】:Laravel 7 Unresolvable dependency resolving - Blade componentsLaravel 7 无法解析的依赖解析 - 刀片组件
【发布时间】:2020-11-02 19:29:25
【问题描述】:

我正在使用新的 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,但它甚至在它得到之前就失败了这么远。

【问题讨论】:

    标签: laravel laravel-blade laravel-7 laravel-7.x


    【解决方案1】:

    信不信由你,但问题不在于模式,而在于其上方的 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.
    -->
    

    有趣的是,在评论中包含'&lt;x-delete-modal ... /&gt;' 导致它完全倒下。这意味着该评论正在以某种方式进行编译。如果有人能解释为什么会发生这种情况,我真的很想知道。

    从组件中删除'&lt;x-delete-modal ... /&gt;' 后,组件将按预期工作。

    【讨论】:

    • html cmets 不是刀片 cmets,所以它仍然会解析它找到的标签,因为 html 注释没有上下文,它只是文本(我想)
    • 因此请尝试在刀片中使用 {{-- ... --}} 注释掉。
    猜你喜欢
    • 2019-01-24
    • 2015-01-08
    • 2016-10-24
    • 2016-12-29
    • 2015-12-25
    • 1970-01-01
    • 2016-06-24
    • 2018-01-01
    • 1970-01-01
    相关资源
    最近更新 更多