一、app.vue中vue
<template> <div id="app"> <router-view></router-view> </div> </template>
二、router中index.js(路由的路徑配置)vue-router
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 改變時,頁面不會從新加載。app
//若是不想要很醜的 hash,咱們能夠用路由的 history 模式,這種模式充分利用 history.pushState
API 來完成 URL 跳轉而無須從新加載頁面。測試
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 } ] } ] })
三、下面是咱們的index.vue中的代碼spa
<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>
四、最後就是新建hello、header、product這幾個組件來驗證咱們的效果,這裏就不作演示了,由於我本身已經測試過了,沒有問題code