【发布时间】:2017-05-25 10:58:07
【问题描述】:
我有一个使用 Vue-router 的 Laravel 5.3 项目。我在模板(home.blade.php)中使用<router-view></router-view> 标签。
我遇到的唯一问题是我似乎无法通过在路由器中输入 URL 来获取视图。仅当我在刀片文件中使用 router-link 时它才有效。
这是我实现路由器的主要 JS 文件:
import Vue from 'vue'
import VueRouter from 'vue-router'
Vue.use(VueRouter);
Vue.use(require('vue-resource'));
Vue.http.headers.common['X-CSRF-TOKEN'] = $('meta[name="csrf-token"]').attr('content');
Vue.component(
'passport-clients',
require('./components/passport/Clients.vue')
);
Vue.component(
'passport-authorized-clients',
require('./components/passport/AuthorizedClients.vue')
);
Vue.component(
'passport-personal-access-tokens',
require('./components/passport/PersonalAccessTokens.vue')
);
const routes = [
{ path: '/view1', component: require('./components/view1.vue')},
{ path: '/view2', component: require('./components/view2.vue')},
{ path: '/view3', component: require('./components/view3.vue')}
]
const router = new VueRouter({
routes: routes,
})
const app = new Vue({
router
}).$mount('#app')
我的 web.php 文件:
<?php
/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| contains the "web" middleware group. Now create something great!
|
*/
//All the authentication routes
Auth::routes();
//Only routing needed for Laravel
Route::get('/{catchall?}', ['as' => 'start', 'middleware' => 'auth', function() {
return view('home');
}])->where('catchall', '.*');
知道为什么会这样吗?
【问题讨论】:
标签: vue.js vue-router