【问题标题】:Laravel route model binding for Blade view componentBlade 视图组件的 Laravel 路由模型绑定
【发布时间】: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
  • 如果您想加载具体模型,我假设您无法避免将事件实例传递给组件。我不是这方面的专家,但视图不在路由绑定的上下文中,即仅在控制器生命周期中
  • 比如读取传递数据到组件

标签: laravel eloquent laravel-blade laravel-routing laravel-8


【解决方案1】:

假设您在 blade 视图中调用组件,您可以像这样传递 Event

<event-header :event="request()->route('event')"></event-header>

【讨论】:

    猜你喜欢
    • 2015-07-25
    • 2021-05-24
    • 1970-01-01
    • 2016-06-04
    • 2017-10-07
    • 2017-06-22
    • 1970-01-01
    • 2018-12-17
    • 2015-07-12
    相关资源
    最近更新 更多