4 回答

TA贡献1803条经验 获得超3个赞
在将组件类型从匿名切换到类并返回时,您必须清除已编译的视图文件:
php artisan view:clear
那是因为 Laravel 将特定的组件类型调用合并到编译的视图代码中。

TA贡献1911条经验 获得超7个赞
我发现了问题。
我得到了$feedbacks is undefined
,因为我没有变量的匿名组件最初位于resources\views\components\homepage\feedback.blade.php
,当我决定为此组件创建视图类时,没有建立链接。Laravel 在刀片文件直接位于文件夹中时创建自动链接feedback.blade.php
,并且app\View\FeedbackComponent.php
仅当刀片文件直接位于文件夹中时resources\views\components
。我的组件在子文件夹中。
所以 laravel 尝试resources\views\components\homepage\feedback.blade.php
使用$feedback
内部变量进行渲染,但找不到$feedback
定义的位置。
所以我只是像在 appservice provider boot 方法中那样手动注册 FeedbacksComponent 类
Blade::component('homepage-feedbacks', FeedbacksComponent::class);
然后用来 <x-homepage-feedbacks/>
渲染它
我会说文档不是很清楚。它说组件文件夹之外的自动发现不起作用。但它并没有说内部组件子文件夹自动发现不起作用。

TA贡献1853条经验 获得超18个赞
我认为你是对的,我一直遇到同样的问题,而且我一直在努力解决这个问题。最后我找到了一个解决方法,如果你更改文件名它就可以工作,所以我认为这是 laravel 框架的问题,我认为他们需要解决这个问题
- 4 回答
- 0 关注
- 115 浏览
添加回答
举报