路由传参

<!DOCTYPE html>
<html>
<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>
</head>
<body>
	<div id="example">
		<router-view></router-view>
	</div>
	<script type="text/javascript">
		var List=Vue.component('list-component',{
			data:function(){
				return {pList:[100,200,300]}
			},
			methods:{
				jump(myIdex){
					this.$router.push('/myDetail/'+myIdex); //发送
				}
			},
			template:`
				<ul>
					<li v-for="(tmp,index) in pList">
						<button @click="jump(index)">{{tmp}}</button>
					</li>
				</ul>
			`
		});

		var Detail=Vue.component('detail-component',{
			data:function(){
				return {myId:""}
			},
			created:function(){
				this.myId=this.$route.params.id; //接收
			},
			template:`
				<h1>这是详情页{{myId}}</h1>
			`
		});

		var NotFound=Vue.component('not-found',{
			template:`
				<h1>404 page not found</h1>
			`
		});

		const myRoutes=[
			{path:'',component:List},
			{path:'/myList/',component:List},
			{path:'/myDetail/:id',component:Detail},
			{path:'*',component:NotFound}
		];

		const myRouter=new VueRouter({
			routes:myRoutes
		});

		new Vue({
			el:'#example',
			router:myRouter
		})
	</script>
</body>
</html>
<!DOCTYPE html>
<html>
<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>
</head>
<body>
	<div id="example">
		<router-view></router-view>
	</div>

	<script type="text/javascript">
		var Check=Vue.component('check-component',{
			data:function(){
				return {price:300}
			},
			methods:{
				toPay(){
					this.$router.push('/pay/'+this.price);
				}
			},
			template:`
				<div>
					<h1>商品支付页面</h1>
					<button @click="toPay">去支付</button>
					<router-link :to="'/pay/'+price">去支付</router-link>
				</div>
			`
		});

		var Pay=Vue.component('pay-component',{
			data:function(){
				return {price:""}
			},
			created:function(){
				this.price=this.$route.params.price;
			},
			template:`
				<div>
					<h1>商品查看页面</h1>
					<h1>{{price}}</h1>
					<router-link to="/send">去Send</router-link>
				</div>
			`
		});

		var Send=Vue.component('send-component',{
			methods:{
				toCheck(){
					this.$router.push('/check');
				}
			},
			template:`
				<div>
					<h1>商品发货页面</h1>
					<button @click="toCheck">返回Check</button>
				</div>
			`
		});

		var NotFound=Vue.component('not-found',{
			template:`
				<h1>404 page not found</h1>
			`
		});

		/*const myRoutes=[

			{path:'/check',component:Check},
			{path:'/pay/:price',component:Pay},
			{path:'/send',component:Send}
		];

		const myRouter=new VueRouter({
			routes:myRoutes
		});*/

		new Vue({
			el:'#example',
			//router:myRouter
			router:new VueRouter({
				routes:[
					{path:'',component:Check},
					{path:'/check',component:Check},
					{path:'/pay/:price',component:Pay},
					{path:'/send',component:Send},
					{path:'*',component:NotFound}
				]
			})
		})
	</script>
</body>
</html>


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值