一二级路由传参(router-link地址传参)

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
	<!-- 别忘了导入包 -->
	<script src="https://cdn.bootcss.com/vue/2.5.17-beta.0/vue.js"></script>
	<script src="https://cdn.bootcss.com/vue-router/3.0.1/vue-router.js"></script>
</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="hot">热点</router-link>
			</li>
		</ul>
		<router-view></router-view>
	</div>


	<!-- home组件模板 -->
	<template id="home">
		<div>
			<h3>首页页面</h3>
		</div>
	</template>
	<!-- news组件模板 -->
	<template id="news">
		<div>
		<h3>新闻页面</h3>
		<ul>
			<li><router-link to="/news/0">新闻详情页1</router-link></li>
			<li>
				<router-link to="/news/1">新闻详情页2</router-link>
			</li>
		</ul>
	</div>
	</template>
	<!-- hot组件模板 -->
	<template id="hot">
		<div>
			<h3>热点页面</h3>
		</div>
	</template>
	<!-- news二级路由(子路由)模板 -->
	<template id="newsmsg">
		<div>
			<h3>新闻详情页1</h3>
			<!-- $route.parpams.是固定写法。id是规范。代表如一级路由的地址是 /news/0,那么$route.params.id将等于0。若是/news/xx 那会等于xx -->
			<p>这是参数:{{$route.params.id}}</p>
			<!-- 显示二级路由内的data arr数组的内容,若后面有多个参数,直接$route.params.参数名即可,不需要追加前面头部分(这里的id) -->
			<p>{{arr[$route.params.id]}}</p>
		</div>
	</template>

	<script>
		var Home=Vue.extend({template:"#home"});
		var News=Vue.extend({template:"#news"});
		var Hot=Vue.extend({template:"#hot"});
		var NewsDatail=Vue.extend({
			template:"#newsmsg",
			/*每个组件都是一个新的Vue哦*/
			data:function(){
				return {arr:["吴师傅1","吴师傅2"]}
			}
		});
		var routes=[
		{
			path:"/home",
			component:Home
		},
		{
			path:"/news",
			component:News
		},
		{
			path:"/hot",
			component:Hot
		},
		{	//注意这里配置地址和组件模板对应,:是必须的。id是规范
			path:"/news/:id",
			component:NewsDatail
		}
		];
		var router=new VueRouter({
			routes:routes
		});
		var vm=new Vue({
			el:"#box",
			router:router
		});
	</script>
</body>
</html>

猜你喜欢

转载自blog.csdn.net/chijiajing/article/details/82890002