我在我的一個 laravel 專案中遇到了一個特殊的錯誤,
在我的 web.php 中,我有一個命名路由 'welcome' :
Route::get('/', function () {
return view('welcome');
})->name('welcome');
這條路線包含我的索引頁面,其中有一個導航組件。
通過 AppServiceProvider 我將資料傳遞給導航組件
即時傳遞的資料是一個包含以下內容的簡單表:
{名稱:“家”,
href:“路線('歡迎')”
}
<nav>
@foreach
<a href=" {{ myData->href }} "> {{ myData->name }} </a>
@endforeach
</nav>
問題是,當我單擊“主頁”鏈接時,它會將我發送到此地址:
http://127.0.0.1:8000/route('welcome') https://i.stack.imgur.com/FaET1.png
而不是http://127.0.0.1:8000/
這是每個鏈接的問題,它總是回傳
http://127.0.0.1:8000/route('myLink')
這是我完整的 web.php 以獲取更多資訊
Route::get('/', [HomeController::class, 'index'])->name('welcome');
Route::get('/dashboard', function () {
return view('dashboard');
})->middleware(['auth', 'verified'])->name('dashboard');
require __DIR__.'/auth.php';
Route::resource('/nav', NavController::class);
// // Fallback page error 404
Route::fallback(FallbackController::class);
如果您需要更多資訊,請詢問我,我已經嘗試解決此問題 2 天,這讓我感到沮喪。
我嘗試了 route:clear、cache:clear、view:clear 并且沒有任何變化。
是我存盤不起作用的路線名稱的格式嗎?
問題是它作業了一兩個小時。現在不可能修復它。
我希望這里有人可以提供幫助。
喬希的解決方案正在奏效。
route('welcome') 作為字串傳遞。并且沒有呼叫函式 route() 。
uj5u.com熱心網友回復:
在您的資料中,href您只需要存盤密鑰welcome而不是route('welcome'). 然后在你的刀片模板中,你可以做
<a href="{{ route(myData->href) }}">login here</a>
您的解決方案不起作用的原因是您只是將單詞route存盤為字串,實際上并沒有呼叫名為route.
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/514637.html
標籤:php拉拉维尔路线
上一篇:如何改善多種口才條件?
