gpt4 book ai didi

laravel - livewire 整页组件

转载 作者:行者123 更新时间:2023-12-05 08:14:28 26 4
gpt4 key购买 nike

我使用的是 laravel 8。

我在 RouteServiceProvider 中定义了 protected 命名空间:

protected $namespace = 'App\Http\Controllers';

然后将 livewire 与以下路由一起使用:

Route::get('/xxx' , App\Http\Livewire\Counter::class);

但我有以下错误:

Invalid route action: [App\Http\Controllers\App\Http\Livewire\Counter].

注意:这添加了 App\Http\Controllers 我的第一个 Action !!!如果删除 protected $namespace 一切正常。但我不想删除它。

有没有办法让我同时拥有 ‍controller protected namespace(用于 Controller 命名空间)和 Route::get 用于 Full-Page Components?

最佳答案

对于那些仍在寻找解决方案的人。我在将现有安装从 Laravel 7 升级到 8 并添加了一些新的 Livewire 组件时遇到了这个问题。

您应该能够像这样直接在 Route 中调用该类,

Route::get('/blog', [\App\Http\Livewire\Pages\ShowPosts::class, '__invoke'])->name('blogs');

这应该允许您使用 Laravel 的常规网络路由。

然后在您的 Livewire 组件中,您可以像这样扩展布局,

class ShowPosts extends Component{
...
public function render(){
return view('livewire.show-posts')
->layout('layouts.base');
}
...}

Rendering Components

另一种选择是从路由中删除命名空间,如下面的链接所述。

Upgrading Livewire Routes .

关于laravel - livewire 整页组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64642147/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com