1、app.vue中
<template> <div id="app"> <router-view></router-view> </div> </template>
2、router中index.js(路由的路径配置)
import Vue from 'vue' import Router from 'vue-router' import Hello from '@/components/Hello' import Login from '@/components/Login' import index from '@/components/index' import Header from '@/components/Header/Header' import Product from '@/components/Product/Product' Vue.use(Router) export default new Router({
//vue-router
默认 hash 模式 —— 使用 URL 的 hash 来模拟一个完整的 URL,于是当 URL 改变时,页面不会重新加载。
//如果不想要很丑的 hash,我们可以用路由的 history 模式,这种模式充分利用 history.pushState
API 来完成 URL 跳转而无须重新加载页面。
mode: 'history',//可以是去掉#号
routes: [ { path: '/', name: 'Login', component: Login }, { path: '/index', name: 'index', component: index, children: [ //这里就是二级路由的配置 { path: '/hello', name: 'Hello', component: Hello }, { path: '/header', name: 'Header', component: Header }, { path: '/product', name: 'Product', component: Product } ] } ] })
3、下面是我们的index.vue中的代码
<template> <div class="aaa"> <div class="list-group"> <router-link to="/hello">Go to hello</router-link> <router-link to="/header">Go to header</router-link> <router-link to="/product">Go to product</router-link> <input type="text" v-model="username"> <button v-click="text"></button> <router-view></router-view> </div> </div> </template>
4、最后就是新建hello、header、product这几个组件来验证我们的效果,这里就不做演示了,因为我自己已经测试过了,没有问题