我正在Laravel
和Vuejs
中构建和应用程序,其中我具有如下所示的Laravel路由:
Route::get('/admin/{view?}', 'HomeController@admin')->where('view', '(.*)')->name('admin');
Route::get('/{view?}', 'HomeController@home')->where('view', '(.*)')->where('view', '!=', 'admin')->name('home');
我正在使用Vue-router
,所以我正在vuejs中进行路由,并且正在使用历史记录模式。问题是,当我尝试调用/admin
时,通常会调用HomeController@home
方法。即使像/admin/dashboard
一样深入,它也会调用相同的home
方法。我想如果正在调用admin
前缀,那么它应该调用HomeController@admin
方法。
对我来说一切正常,请检查此
Route::get('/admin/{view?}', function (){
dd('okay');
})->where('view', '(.*)')->name('admin');
Route::get('/{view?}', function(){
dd('okay1');
})->where('view', '(.*)')->name('home');
所以尝试这个
Route::get('/admin/{view?}', 'HomeController@admin')->where('view', '(.*)')->name('admin');
Route::get('/{view?}', 'HomeController@home')->where('view', '(.*)')->name('home');