我正在嘗試構建一種簡單的方法來構建laravel專案。我從我們應該構建controller和blade歸檔的文章中得到,例如這個命令php artisan make:livewire Admin.CourseList
如果我們有很多頁面,它將會有很多檔案,
所以我有一個問題,我們可以只構建一個控制器來在很多blade檔案中使用嗎,這個想法是動態url的,然后url檢測到controller,controller從中獲取資料url以獲取blade檔案。
我正在嘗試使用此方法
Route::get('master/{fileis}', Master::class); ( my route )
<?php
// master controller
namespace App\Http\Livewire\Admin;
use Livewire\Component;
class Master extends Component
{
public function index ($field)
{
return view('livewire.admin.$filed');
}
}
我希望當urlwith$field將成為檔案名。
所以我希望的效果例如mywebsite.com/master/login-file,這個 url 會獲取login-file.blade.但它不起作用。
uj5u.com熱心網友回復:
你的問題有很多錯字,但我明白你的意思。
試試這個。
// in route
Route::get('/{$field}', [Master::class, 'index']);
// master index()
public function index ($field)
{
// `double quote` for `var` inside `string`
return view("livewire.admin.$field");
}
請記住在您的通話中創建必要的view或添加iflogical View::exists('your_view')view
編輯:在 LARAVEL LiveWIRE
我給你一些圖片。
跑 php artisan make:livewire admin.course
// in route
Route::livewire('/course/{course}', 'admin.course');
// in Course.php
class Course extends Component
{
public $course;
public function mount($course)
{
// init course in mount cycle
$this->course = $course;
}
public function render()
{
// insert `public $coursea` to your `view`
return view("livewire.admin.$this->course", [
'course' => $this->course,
]);
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/411085.html
標籤:
