利用router-view元素的name属性实现页面布局
JS代码
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title></title>
<script type="text/javascript" src="js/vue.js"></script>
<script type="text/javascript" src="js/vue-router.js"></script>
<style>
html,body{
margin: 0;
padding: 0;
}
.header{
background-color: orange;
height: 80px;
}
h1{
margin: 0;
padding: 0;
font-size: 16px;
}
.container{
display: flex;
height: 600px;
}
.left{
background-color: lightgreen;
flex: 2;
}
.main{
background-color: lightpink;
flex: 8;
}
</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 leftBox = {
template:'<h1 class="left">这是Left侧边栏区域</h1>'
}
var mainBox = {
template:'<h1 class="main">这是main主体区域</h1>'
}
var router = new VueRouter({
routes:[
{
path:'/',components:{
'default':header,
'left':leftBox,
'main':mainBox
}
}
]
})
var vm = new Vue({
el:'#app',
data:{},
methods:{},
router
});
</script>
</body>
</html>
页面效果