larvel 新手正在尝试视频教程...我陷入了这个基本的事情...不太确定我做错了什么...
web.php
use App\Livewire\ListStudents;
use Illuminate\Support\Facades\Route;
use App\Http\Controllers\ProfileController;
Route::get('/', function () {
return view('welcome');
});
Route::middleware('auth')->group(function () {
Route::get('/students',[ListStudents::class,'index'])->name('students');
});
require __DIR__.'/auth.php';
ListStudents.php
namespace App\Livewire;
use App\Models\Student;
use Livewire\Attributes\Layout;
use Livewire\Component;
class ListStudents extends Component
{
#[Layout(name: "layouts.app")]
public function render()
{
return view('livewire.list-students',data: [
'students'=> Student::all(),
]);
}
}
我已经尝试过了
Route::get('/students',[ListStudents::class,'index'])->name('students.index');
Route::get('/students',[ListStudents::class,'index']);
一直给我这个错误:
BadMethodCallException - 方法 App\Livewire\ListStudents::index 不存在。
根据视频中的原始代码
Route::get('/students',[ListStudents::class])->name('students.index');
给我这个错误
ReflectionException - Function () 不存在
我做错了什么?我的项目设置错误吗?授权似乎效果很好(使用入门套件)。
使用 Laravel 11 和 Livewire 3
你应该这样设置路线。
Route::get('/students', ListStudents::class)->name('students.index');
您正在传递一个包含单个元素的数组。