【问题标题】:Laravel + Vue JS Routing shows page not foundLaravel + Vue JS 路由显示找不到页面
【发布时间】: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 不起作用。

标签: laravel laravel-5 vue.js vue-router


【解决方案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 中 用于从 vue 端导航页面。

在路由中,文件路由在这里定义。

const router = new VueRouter({

  routes: [
    { path: '/admin/companies', redirect: { name: 'CompaniesController' } },
  ],
})


<router-link to="/about">Go</router-link>

然后调用 localhost/admin/companies 然后页面将加载。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-07-04
    • 2015-11-17
    • 2015-11-18
    • 1970-01-01
    • 2016-10-20
    • 1970-01-01
    • 2021-07-11
    • 2017-12-16
    相关资源
    最近更新 更多