Laravel + Vue JS 路由显示找不到页面
Posted
技术标签:
【中文标题】Laravel + Vue JS 路由显示找不到页面【英文标题】:Laravel + Vue JS Routing shows page not found 【发布时间】:2019-01-09 16:54:33 【问题描述】:我按照这个教程https://laraveldaily.com/quick-start-laravel-5-5-vue-js-simple-crud-project/
但是,当我加载: localhost/admin/companies 时,我得到 page not found 。
我也试着改成这个
const router = new VueRouter(
routes: [
path: '/admin/companies', component: CompaniesController
]
)
但我在 VueRouter( 我不明白为什么。有人可以帮忙吗?
谢谢!
【问题讨论】:
不是 laravel 错误。看起来您在 Vue 代码上犯了语法错误。让我看看你的完整代码。 @Ts8060 您想看哪个部分?我会在上面补充。我将路线更改为 Route::get('/admin/companies', 'Api\V1\CompaniesController@index');它有效。不知道为什么上面使用 VueRouter 不起作用。 【参考方案1】:Vue 路由器不会重新加载页面。 Vue 路由器不像 Laravel 路由器那样工作。每当 Vue 路由发生变化时,它所做的一切就是将不同的组件安装到特定区域。该区域由预定义的 router-view 元素定义。它会根据 Vue 路由的变化来挂载组件。
刀片
<div class='box'>
<router-view name="content-viewport"></router-view>
</div>
Vue
const router = new VueRouter(
routes: [
path: '/admin/companies', components: "content-viewport" : CompaniesController
]
);
现在,当您转到 domain#/admin/companies 时,Vue 将在 'content-viewport' 中安装组件 CompaniesController
【讨论】:
谢谢!设法解决了这个问题,但你给了我需要的解决方案。【参考方案2】:在 Vue js 中
在路由中,文件路由在这里定义。
const router = new VueRouter(
routes: [
path: '/admin/companies', redirect: name: 'CompaniesController' ,
],
)
<router-link to="/about">Go</router-link>
然后调用 localhost/admin/companies 然后页面将加载。
【讨论】:
以上是关于Laravel + Vue JS 路由显示找不到页面的主要内容,如果未能解决你的问题,请参考以下文章
laravel + mix + vue 路由器错误:找不到导出'createStaticVNode'(导入为'_createStaticVNode')
Vue-Router 不在单页应用程序中重新路由(Vue/Laravel)
如果在 Laravel 5.1 中找不到路由,则显示 404 页面