我想通过Vue-router
插件创建指向组件的简单链接。
为此,我创建了一个routes.js
文件,如下所示:
import VueRoute from 'vue-router';
let routes = [
{
path: '/',
component: './components/Home'
},
{
path: '/About',
component: './components/About'
}
];
export default new VueRoute({
routes
});
还有app.js
这样的文件:
import Vue from 'vue';
import VueRouter from 'vue-router';
import axios from 'axios';
import router from 'routes';
window.Vue = Vue;
window.axios = axios;
Vue.use(VueRouter);
new Vue({
el: '#app',
router
});
这是我的母版页内容:
<!doctype html>
<html lang="{{ config('app.locale') }}">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="/css/app.css">
<title>My First Laravel Vue App </title>
</head>
<body>
<div id="app">
<router-link to="/">Home</router-link>
<router-link to="/About">About</router-link>
</div>
<script src="/js/app.js"></script>
</body>
</html>
但是在打开页面后编译所有js文件后,router-link
不起作用,只是创建了一个简单的空html注释。
我不知道什么是问题,我怎么解决这个问题。
更新:
我将import router from 'routes';
更改为import router from './routes'
,所有措辞都很好!
答案 0 :(得分:4)
您已完成所有设置,但需要router-view
像这样添加:
<body>
<div id="app">
<router-link to="/">Home</router-link>
<router-link to="/About">About</router-link>
<router-view></router-view>
</div>
<script src="/js/app.js"></script>
</body>
匹配的路线在router-view
中呈现修改强>
路由对象的component
属性应该是组件本身,但是你传递一个字符串
所以这样做:
import VueRoute from 'vue-router';
import Home from './components/Home'
import About from './components/About')
let routes = [
{
path: '/',
component: Home
},
{
path: '/About',
component: About
}
];
export default new VueRoute({
routes
});