举个栗子:
DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<title>Titletitle>
head>
<body>
<div id="app" v-cloak>
<router-link to="/user">用户router-link>
<router-view>router-view>
div>
<template id="temp">
<div>
<h1>用户h1>
<router-link to="/user/login">登录router-link>
<router-link to="/user/register">注册router-link>
<router-view>router-view>
div>
template>
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js">script>
<script src="https://unpkg.com/vue-router@2.0.0/dist/vue-router.js">script>
<script>
//创建组件
var user = {
template: '#temp'
}
var login = {
template: '登录
'
}
var register = {
template: '注册
'
}
//创建路由及匹配规则
var router = new VueRouter({
routes : [{
//当地址为/user时显示user组件
path : '/user/',
component : user,
//创建登录组件和用户组件的匹配规则
children : [{
path: 'login',
component: login
},{
path: 'register',
component: register
}
]
}]
})
var vm = new Vue({
el: '#app',
data: {},
methods: {},
components: {
user,
login,
register
},
//将路由挂载到实例对象
router: router
})
script>
body>
html>
运行效果:

通俗地说,路由布局就是使用一个路由匹配规则,在页面中同时显示多个组件。
举个栗子:
DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<title>Titletitle>
head>
<body>
<div id="app" v-cloak>
<router-view>router-view>
<router-view name="main">router-view>
<router-view name="footer">router-view>
div>
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js">script>
<script src="https://unpkg.com/vue-router@2.0.0/dist/vue-router.js">script>
<script>
//创建组件
var header = {
template: '头部
'
}
var main = {
template: '主体
'
}
var footer = {
template: '底部
'
}
//创建路由及匹配规则
var router = new VueRouter({
routes: [{
path : '/',
components :{
'default' : header,
'main' : main,
'footer' : footer
}
}]
})
var vm = new Vue({
el: '#app',
data: {},
methods: {},
components: {
header,
main,
footer
},
//将路由挂载到实例对象
router: router
})
script>
body>
html>
运行效果

当访问根路径需要同时显示三个组件时,component换成components
components属性的作用就是给组件起名字,视图层要显示几个组件就写几个router-view标签,使用name属性指定router-view具体显示的内容,值为components中自定义的组件名。