Blade 视图组件的 Laravel 路由模型绑定
Posted
技术标签:
【中文标题】Blade 视图组件的 Laravel 路由模型绑定【英文标题】:Laravel route model binding for Blade view component 【发布时间】:2021-03-22 22:01:15 【问题描述】:在我的服务提供者中,我在路由中绑定了事件模型。
Route::model('event', Event::class);
然后我创建以下路线。
Route::view('/events/event/overview', 'cp.event-overview')
在这个视图中,我称之为刀片组件,看起来像这样。
class EventHeader extends Component
public $event;
public function __construct(Event $event)
$this->event = $event;
dd($event);
代码返回一个空模型(存在:false)。但是如果我做同样的事情并将路由转发到控制器,那么它是否有效。有没有办法将模型注入到 Blade 组件中?
【问题讨论】:
如何将数据传递给组件? 我没有传递任何数据。我想使用依赖注入器。 laravel.com/docs/8.x/blade#additional-dependencies 如果您想加载具体模型,我假设您无法避免将事件实例传递给组件。我不是这方面的专家,但视图不在路由绑定的上下文中,即仅在控制器生命周期中 比如读取传递数据到组件假设您在 blade
视图中调用组件,您可以像这样传递 Event
:
<event-header :event="request()->route('event')"></event-header>
【讨论】:
以上是关于Blade 视图组件的 Laravel 路由模型绑定的主要内容,如果未能解决你的问题,请参考以下文章
Laravel - 大量使用 Blade 渲染视图的访问器(修改器)