vue route 实现页面布局

vue route 实现页面布局

<!DOCTYPE html>

<html lang="en">

<head>

    <meta charset="UTF-8">

    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <title>Document</title>

    <script src="https://unpkg.com/vue/dist/vue.min.js"></script>

    <script src="https://unpkg.com/[email protected]/dist/vue-router.js"></script>

    <style>

      .header{

          background-color:lightcoral;

      }

      .container {

          background-color:lightslategrey;

          display:flex;

      }

      .left {

          background-color:lightgreen;

          margin-left: 1%;

          margin-top: 1%;

          margin-bottom: 1%;

          margin-right: 1%;

          width: 30%;

          height: 600px;

      }

      .main {

          background-color: lightpink;

          margin-right: 1%;

          margin-top: 1%;

          margin-bottom: 1%;

          width: 68%;

          height: 600px;

      }

      h1{

          margin: 0px;

         

      }

    </style>

</head>

<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 left ={

        template:'<h1 class="left">left</h1>',

 

    }

    var main ={

        template:'<h1 class="main">main</h1>',

 

    }

 

    //路由的构造函数

    var myrouter = new VueRouter({

    

    //定义路由规则,匹配路径实现跳转

    routes:[

 

        { path: '/',

          components:{

            'default': header,

            'left': left,

            'main':main

          }

          

        }

    ]

})

 

var vm = new Vue({

    el:'#app',

    data:{

    },

    methods:{

    },

    router:myrouter //将路由规则定义到vm中,监视地址变化,切换不同的组件

})

</script>

</body>

</html>