搜尋

首頁  >  問答  >  主體

如何使用Route::inertia()門面呼叫Controller?

我可以像這樣使用 inertia 提供頁面:

Route::inertia('/home', 'home');

要載入包含資料庫資料的頁面,我必須這樣做:

Route::get('/terms', [LegalPageController::class, 'index']);

在控制器中:

class LegalPageController extends Controller
{
    public function index()
    {
        $record = Terms::first();

        return inertia('terms', compact('record'));
    }
}

有什麼辦法可以縮短為:

Route::inertia('/home', 'home', [Controller::class, 'index']);

P粉344355715P粉344355715244 天前458

全部回覆(1)我來回復

  • P粉293341969

    P粉2933419692024-03-29 09:23:19

    你不能這樣做

    Route::inertia('/home', 'home', [Controller::class, 'index']);
    

    改用這個方法

    #routes/web.php
    Route::get('home', [Controller::class, 'index']);
    
    
    #App\Http\COntrollers\Controller.php
    namespace App\Http\Controllers
    
    class Controller extends Controller {
        # ...
       Inertia::render('home');
    }
    

    回覆
    0
  • 取消回覆