vue-router中传递参数query和params的区别

query和params的相同之处

在vue-router的使用中$router.params和$router.query都可以传递父组件传递的动态参数这是最基本的

query和params的不相同之处

params获取(简易流程及方法)     文件目录

 

父元素页面App.vue(home,和about可以忽略)

<template>
	<div id="app">

		<router-link to="/home">home</router-link>
		<br />
		<router-link to="/about">about</router-link>
		<br />
		<router-link :to="'/user/'+userid">user</router-link>
		<router-link :to="{path:'/profile',query:{name:'why',age: 18,height:1.88}}">档案</router-link>
		<router-view></router-view>
	</div>

</template>

<script>
	export default {
		name: 'App',
      data(){
      	return {
      		userid:'zhangsan',
      		profile:'/profile'
      	}
      }
	}
</script>

<style>

</style>

当如上图的父元素想传递数据到两个子元素时,params获取的数据跟随在地址的后面

如上图<router-link :to="'/user/'+userid">user</router-link>

然后再更改router文件下index的参数配置

修改rounter下index文件传递地址的参数(注意!这里的参数就是user.vue中获取参数的参数一样)

​
import VueRouter from 'vue-router'
import Vue from 'vue'
const user =()=>import('../components/user')
const profile =()=>import('../components/profile')

/*懒加载加快用户请求速率*/

//1.通过Vue。use(插件),安装插件

Vue.use(VueRouter)
//2.创建VueRounter对象
const routes = [
	{
		path: '/user/:id',
		component: user
	},
	{
		path: '/profile',
		component: profile
	}
]

const router = new VueRouter({
	routes,
	mode: 'history',
	linkActiveClass: 'active'
})
//3.将rounter对象传入到VUE 实例中
export default router

​

 在user.vue的子组件中获取父组件传递的参数

<template>
	<div>
		<h2>我说user组件啊哈哈哈</h2>
		<p>我是用户的相关信息,嘿嘿嘿</p>
		<!---->
		<h2>{{userId}}</h2>
		<h2>{{$route.params.id}}</h2>
	</div>

</template>

<script>
  export default {
		name: "user",
		computed: {
			userId() {
				return this.$route.params.id
			}
		}
	}
</script>

<style>

</style>

然后 npm run dev ,

binggo,很棒

使用query传递参数

父元素中见第一张图

<router-link :to="{path:'/profile',query:{name:'why',age: 18,height:1.88}}">档案</router-link>

query无需再配置router中index的文件直接到子组件profile中

(其父)

 (其子)

 

npm run dev!

 

 总结一下

params和query相比较虽然都是传递参数的但是个人感觉query更加的方便,因为使用params还需要重新配置router的文件,想我这种懒蛋十分拒绝QAQ!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值