0304路由的传参和取参

001_0304路由的传参和取参(h3)

  • 查询参

    • 配置(传参) :to="{name:‘login’,query:{id:loginid}}"
    • 获取(取参) this.$route.query.id
  • 路由参数

    • 配置(传参) :to="{name:‘register’,params:{id:registerid} }"
    • 配置路由的规则 { name:‘detail’,path:’/detail/:id’}
    • 获取 this.$route.params.id
  • 总结

    • :to传参的属性里 params是和name配对的 query和name或path都可以
    • 使用路由参数必须要配置路由规则里面配置好参数名,否则刷新页面参数会丢失
    • js跳转路由传参和标签传参,路由相同而参数不同时页面不做刷新的问题
    • 解决方案:<router-view :key="$route.fullPath"></router-view>
  • 源代码

<!DOCTYPE html>
<html>
<head>
	<title>路由的跳转</title>
</head>
<body>
	<div id="app"></div>

	<script type="text/javascript" src="../js/vue.js"></script>
	<!-- 引入路由插件 -->
	<script type="text/javascript" src="../js/vue-router.js"></script>
	<script type="text/javascript">
		var Login={
			template:`
				<div>我是登录页面 
					<span>这是我获取到的参数: {{ msg }}</span>
				</div>
			`,
			data(){
				return { 
					msg:''
				}
			},
			created(){
				this.msg=this.$route.query.id
			}
		}
		var Restiger={
			template:`
				<div>我是注册页面
					<span>这是我获取到的路由参数:{{ foo }}</span>
				</div>
			`,
			props:['foo']
			// data(){
			// 	return {
			// 		restigerfoo:''
			// 	}
			// },
			// created(){
			// 	this.restigerfoo=this.$route.params.foo
			// }
		}
		//安装路由插件
		Vue.use(VueRouter);
		//创建路由对象
		var router= new VueRouter({
			//配置路由对象
			routes:[
				{path:'/login',name:'login',component:Login},
				{path:'/restiger/:foo',name:'restiger',props:true, component:Restiger},
			]
		})
		new Vue({
			el:'#app',
			router,
			template:`
				<div>
					<router-link :to="{name:'login',query:{id:'123'}}">去登录</router-link>
					|
					<router-link :to="{name:'restiger',params:{foo:'bar'}}">去注册</router-link>
					<button @click='jslink'>js跳转去登录</button>
					<router-view :key="$route.fullPath"></router-view>
				</div>
			`,
			data(){
				return {}
			},
			methods:{
				//js跳转传参是一样的
				jslink(){
					this.$router.push({name:'login',query:{id:'456'}})
				}
			}
		})
	</script>
</body>
</html>
  • 浏览器界面

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值