Vue-----路由-----命名视图实现经典布局

利用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>
页面效果

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/wennianzhu/article/details/106334412
今日推荐