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

Posted

技术标签:

【中文标题】如何使用 if 路由条件在 2 个单独的视图函数中使用相同的渲染? (Laravel/Livewire)【英文标题】:How do I use the same render in 2 separate view functions using the if route is condition? (Laravel/Livewire) 【发布时间】:2021-08-05 19:18:18 【问题描述】:

??

我想通过检查路由是否与当前路由相同,在渲染函数中渲染 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', [
      'data' => $this->read(),
      ]);
   

但我总是有问题!

【问题讨论】:

【参考方案1】:

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

【讨论】:

但我在 laravel 中找到了它是否有帮助:访问当前路线使用 Illuminate\Support\Facades\Route; $route = Route::current(); // 照亮\路由\路由 $name = Route::currentRouteName(); // 字符串 这对后续请求有效吗?我认为它不会让您的组件无法正确呈现。 是的,我试过了,它可以工作,但是如果我调用一个特定的视图,它会在与另一个视图相关的地方给我带来错误!! 我不明白你的意思。你能解释一下吗?

以上是关于如何使用 if 路由条件在 2 个单独的视图函数中使用相同的渲染? (Laravel/Livewire)的主要内容,如果未能解决你的问题,请参考以下文章

c++如何让find_if函数能查找多个符合条件的值?

表格中IF函数如何判断多个条件

如何使用 RXJava 调用的响应结果作为另一个 RXJava 函数中的 if 语句的条件?

怎么利用IF函数多个条件进行嵌套?

如何在模态窗口 [ANGULAR 5] 内创建路由?

对包含在 2 个单独的父 UIView 中的子视图进行碰撞检测?