首先写这篇文章之前先声明一下,这篇文章是在空余时间写出来的,后期还会再往里面添加东西或者改动的,如果有哪里不对也欢迎指出。

     在学习过程中我都是先阅读一遍官方文档,然后看例子学的,因为个人觉得在做的过程中学习知识是比较快的。下面就遇到了这个问题,$route.parame.id是什么意思呢,在网上查了好多文档,了解到这些东西。下面先看一下程序

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title>嵌套路由</title>
		<script src="vue.js"  type="text/javascript"></script>
		<script src="vue-router.js" type="text/javascript"></script>
		<!--首先引入vue和vue-router.js-->
		<style type="text/css">
			*{padding: 0px;margin: 0px;}
			li{list-style: none;float: left;margin: 10px 20px;}
			a{text-decoration: none;}
			a:hover{cursor: pointer;}
			.show{width: 300px;height: 300px;background: #ccc;float: left;margin: 20px 0px;}
			.clear{clear: both;}
		</style>
	</head>
	<body>
		
		<!--文档结构-->
		<div id="box">
			<ul>
				<li><router-link to='/home'>首页</router-link></li>
				<li><router-link to='/news'>新闻</router-link></li>
				<li><router-link to='/personal'>个人中心</router-link></li>
				<div class="clear"></div>
			</ul>
			<div class="show">
				<router-view></router-view>
			</div>
		</div>
		
		
<template id="home">
	<div>
		<h2>首页内容</h2>
	</div>
</template>

<template id="news">
	<div>
		<h2>新闻内容</h2>
		<p><router-link to="/news/0">详细内容一</router-link></p>
		<p><router-link to="/news/1">详细内容二</router-link></p>
		<p><router-link to="/news/2">详细内容三</router-link></p>
	</div>	
</template>
<template id="personal">
	<div>
		<h2>个人中心</h2>
	</div>
</template>

 <template id="detailist">
 	<div>
 		<h2>详细内容</h2>
 		{{$route.params.id}}
 		{{arr[$route.params.id]}}
 	</div>
 </template>
	</body>
</html>
<!--准备模块-->
	
	
	<script type="text/javascript">
		var Home = Vue.extend({
			template : '#home',
		});
		var News = Vue.extend({
			template : '#news',
		});
		var Personal = Vue.extend({
			template : '#personal',
		});
		var Detailist = Vue.extend({
			template : '#detailist',
			data : function () {
				return{
					arr:[
					   '我是娱乐新闻','我是科技新闻','我是经济新闻'
					]
				}
			},
		});
		
		
//	分配路径	

var routes = [

  {path:'/home',component:Home},
  {path:'/news',component:News},
  {path:'/news/:id',component:Detailist},
  {path:'/personal',component:Personal}
  
];
		
		
//	分配路径	

var router = new VueRouter({
	routes
});

var app = new Vue({
	el :"#box",
	data :{},
	router,
	
})
router.push('/home')			
		
	</script>

二级路由

 <!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
	<title>Document</title>
	<script type="text/javascript" src="vue.js"></script>
	<script type="text/javascript" src="vue-router.js"></script>
	<style type="text/css">
		li {list-style-type: none; display: inline-block;}
		.show {width: 400px; height: 300px; background: #eee;}
	</style>
</head>
<body>
	<div id="box">
		<ul>
			<li><router-link to='/home'>home</router-link></li>
			<li><router-link to='/news'>news</router-link></li>
		</ul>

		<div class="show">
			<router-view></router-view>
		</div>
	</div>

	<template id='h'>
		<div>
			<h2>首页</h2>
		</div>
	</template>

	<template id='n'>
		<div>
			<p>新闻列表</p>
			<p><router-link to='/news/today'>今日头条</router-link></p>
			<p><router-link to='/news/star'>娱乐八卦(关爱八卦成长协会)</router-link></p>
			<p><router-link to='/news/tiyu'>体育新闻</router-link></p>
			<router-view></router-view>
		</div>
	</template>
</body>
</html>
<script type="text/javascript">
	// 准备模块

	var Home = Vue.extend({
		template: '#h'
	});

	var NewsList = Vue.extend({
		template: '#n'
	});

	// 配置路径
	var routes = [
		{path:'/home', component:Home},
		{path:'/news', component:NewsList,
			children: [
			// 二级路由路径,不加/
				{path:'today', component:{
					template: '<p>就凭你的胸,你今天也该过节</p>'
				}},
				{path:'star', component:{
					template: '<p>某某小鲜肉和某某小花又约会了</p>'
				}},
				{path:'tiyu', component:{
					template: '<p>中国足球居然赢了</p>'
				}},
			]
		},
	];

	// 创建路由实例
	var router = new VueRouter({
		routes
	});

	var vm = new Vue({
		el: '#box',
		data: {

		},
		// 添加路由
		router
	});

	// 路由重定向

	router.push('/home');
</script>




Logo

前往低代码交流专区

更多推荐