<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Document</title> <script src="js/vue.js"></script> <script src="js/vue-router-3.0.1.js"></script> </head> <style> h1,html.body{ margin:0; padding: 0; } h1{ font-size:16px; } .header{ background-color:orange; } .container{ display: flex; height:600px; } .left{ background-color: lightgreen; flex:2; } .main{ background-color: lightpink; flex:8; } </style> <body> <div id="app"> <router-view></router-view> <div class="container"> <router-view name="left"></router-view> <router-view name="main"></router-view> </div> </div> <script> var header = { template: '<h1 class="header">header头部区域</h1>' }; var leftBox = { template: '<h1 class="left">Left侧边栏区域</h1>' }; var mainBox = { template: '<h1 class="main">main主体区域</h1>' }; var router = new VueRouter({ routes: [{ path: '/', components: { //注意,该部分components加s了。表明一个路径下挂在了三个子组件 //该部分引号,可以可不写,系统会在自动加上去,是组件名称 'defalut': header, 'left': leftBox, 'main': mainBox } }] }) //创建Vue实例,得到 ViewModel var vm = new Vue({ el: '#app', data: {}, methods: {}, router }); </script> </body> </html>