如何使用 if route is 条件在 2 个单独的视图函数中使用相同的渲染? (Laravel/Livewire)

问题描述

如何使用 if route is 条件在 2 个单独的视图函数中使用相同的渲染? (Laravel/Livewire)??

我想通过检查路由是否与当前路由相同,在渲染函数中渲染 2 个不同的 Livewire.view,如下所示:

public function render()
{
   if (\Route::named('admin-appointments')) {
      return view('livewire.admin-appointments',[
      'data' => $this->read(),]);
   }
   else{
      return view('livewire.user-appointments',]);
   }
}

但我总是有问题!!

解决方法

根据路线进行渲染不太可能奏效。第一个请求将具有正确的路由,但所有后续请求都将由 Livewire 触发并且不再匹配您的路由。相反,您需要在安装 Livewire 组件时设置一个标志,并根据此进行渲染。