您需要从 laravel Web 路由处理程序调用 livewire 控制器中的嵌入式函数。
以前从控制器 laravel 调用函数是通过以下方式完成的
Route::get('/name', 'NameController@NameFunction');
但现在我需要从 livewire 控制器调用一个函数,但我不知道哪个是正确的方法。
您需要从 laravel Web 路由处理程序调用 livewire 控制器中的嵌入式函数。
以前从控制器 laravel 调用函数是通过以下方式完成的
Route::get('/name', 'NameController@NameFunction');
但现在我需要从 livewire 控制器调用一个函数,但我不知道哪个是正确的方法。
我遇到了同样的问题,我的课程叫做'create.php',我希望这对你有帮助:
我在另一个名为 Product 的文件夹中的 Livewire 文件夹中有 Livewire 组件,在您的情况下,它只是 Livewire\create:class
当您使用 Livewire 渲染视图时,视图的渲染变为有状态的,并由调用它的组件控制
render
。视图可以通过调用它提供的公共方法继续与组件的类交互。如果您的控制器是:
视线已经在一个地方
按下按钮将调用方法
updateMessage
,而无需通过 ajax 触发请求或获取或处理其响应。调用此方法将依次更新公共属性
$message
,从而刷新视图段。虽然方法调用和内容刷新都是通过 ajax 调用在内部处理的,但它们是 Livewire 内部的,不在您的控制范围内。
组件了解的唯一传统请求是它最初在方法中接收的请求
mount
,这类似于方法__construct
在传统 Blade 组件中接收的内容。在 laravel 中 livewire 路由导致components。然后每个组件执行它的方法
render()
。例如,下面的路由指向将执行其方法
/post
的被调用组件。Posts
render
post.php
由于执行了 render 方法,您将得到的是通过转到路由您将
/post
被重定向到被调用的 viewlivewire.show-posts
。之后,在所述视图中,您可以调用其组件内的其他方法,例如destroy方法。你可以在这里阅读。
目前我看到的答案是为该路线创建一个特定组件(= 这个解决方案对我来说似乎很糟糕,因为我们将有数百个组件执行特定功能,尽管这可能是它的原则)无论如何,就我而言,我有一个活动模型,我与管理员用户一起管理,但与另一个参与用户一起,我想进入它并执行一组操作,很明显,这里的模型是相同的,但操作不同,写这个它发生在我通过经典的@if(Auth::user()->isAdmin) 来控制对部分视图的访问,因此我解决了多个组件指向同一个模型的问题,也就是说,你可以玩全局变量也是如此。