vue之路由的命名视图实现经典布局

<!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>

  

原文地址:https://www.cnblogs.com/linm/p/12515638.html