首页 > 其他分享 >Vue Router系列之(七)路由的props配置项

Vue Router系列之(七)路由的props配置项

时间:2024-02-29 20:04:35浏览次数:27  
标签:Vue title props 组件 Router 写法 id 路由

路由的props配置项

​ 路由组件读取其他组件传递的参数时,是通过$route.params.id这种方式读取的,$route.params 部分代码冗余度高,如何能够降低这种冗余?props配置项可以做到

​ 作用:让路由组件更方便的收到参数

{
	name:'xiangqing',
	path:'detail/:id',
	component:Detail,

    //props配置项写在需要接收数据的路由组件的路由规则中
	//第一种写法:props值为对象,该对象中所有的key-value的组合最终都会通过props传给Detail组件
    //这种写法只能给路由组件传递死数据
	// props:{a:900}

	//第二种写法:props值为布尔值,布尔值为true,则把路由收到的所有params参数通过props传给Detail组件
	// props:true
	
	//第三种写法:props值为函数,该函数返回的对象中每一组key-value都会通过props传给Detail组件
    //返回值必须是对象
	props(route){
		return {
			id:route.query.id,
			title:route.query.title
		}
	}
  
  	//第三种写法的进阶写法:解构赋值
  	props({query}){
		return {
			id:query.id,
			title:query.title
		}
	}
  
  	//第三种写法的进阶写法:解构赋值的连续写法【语义化不明确,不建议使用】
  	props({query:{id,title}}){
		return {
			id:id,
			title:title
		}
	} 
}

​ Detail组件中通过组件的props配置项接收数据【组件的props配置项:用于接收外部组件传递的数据】

<template>
	<ul>
		<li>id:{{id}}</li>
		<li>title:{{title}}</li>
	</ul>
</template>

<script>
	export default {
		name:'Detail',
		props: ['id','title']
	}
</script>

路由对浏览器历史记录的影响

关于浏览器历史记录

标签:Vue,title,props,组件,Router,写法,id,路由
From: https://www.cnblogs.com/wzzzj/p/18040061

相关文章

  • Vue Router系列之(六)命名路由
    命名路由命名路由:给你的路由规则起个名字作用:可以简化路由的跳转【路由层级比较多时】。如何使用给路由规则命名:{ path:'/demo', component:Demo, children:[ { path:'test', component:Test, children:[ {name:'hello'//通......
  • Vue Router系列之(五)路由传参
    路由传参如何给路由组件传递参数点击导航区的时候将数据带给路由组件,展示区根据数据渲染组件,渲染的都是同一个组件,只不过数据不同路由组件可以接收两种参数:query参数和params参数这两种参数的写法与Ajax中query参数和params参数的写法是一样的1.query参数传递参数<!--......
  • Vue Router系列之(十一)两个新的生命周期钩子
    两个新的生命周期钩子​ 缓存路由组件和定时器一起使用时,如果进行了路由跳转,本应触发在beforeDestroy钩子中清除定时器方法,但因为缓存了路由组件,就导致原来的路由组件的beforeDestroy钩子不会被触发,定时器也就不会清除作用:路由组件所独有的两个钩子,用于捕获路由组件的激活状态......
  • Vue Router系列之(十)缓存路由组件
    缓存路由组件完善路由的技巧作用:让不展示的路由组件保持挂载,不被销毁。​ 正常情况下,进行了路由跳转后,之前的组件会被销毁,如果之前的组件中存在input框之类的表单类组件,输入的内容也就消失了,也就是说,要保证路由跳转后不销毁之前的组件具体编码://缓存的对象:并不是所有路......
  • 答应我,在vue中不要滥用watch好吗?
    前言上周五晚上8点,开开心心的等着产品验收完毕后就可以顺利上线。结果产品突然找到我说要加需求,并且维护这一块业务的同事已经下班走了,所以只有我来做。虽然内心一万头草泥马在狂奔,但是嘴里还是一口答应没问题。由于这一块业务很复杂并且我也不熟悉,加上还饿着肚子,在梳理代码逻辑......
  • Vue Router系列之(九)编程式路由导航
    编程式路由导航作用:不借助<router-link>实现路由跳转,让路由跳转更加灵活。为什么需要除了<router-link>标签之外实现路由跳转的方式?<router-link>标签最后变为<a>标签,无法实现button按钮的跳转触发路由跳转可能需要异步触发,<router-link>标签也无法实现具体编码://$ro......
  • Vue Router系列之(十二)路由守卫
    路由守卫作用:对路由进行权限控制,满足一定条件才能看到跳转到的路由组件分类:全局守卫、独享守卫、组件内守卫全局守卫://src/router/index.js//router:我们创建的路由器实例//router.beforeEach(function):每一次进行路由跳转之前都会帮我们调用我们传入的函数//全......
  • Vue CLI 系列之(十)webStorage
    webStorage【浏览器本地存储】localStorage和sessionStorage统称为webStorage1.localStorage未登录账号的情况下进行了商品搜索,搜索历史中保存了之前的搜索记录借助浏览器的本地存储可以将数据存到硬盘上,用于缓存数据通过浏览器如何查看浏览器本地存储​ 每个网站都有自己......
  • Vue CLI 系列之(十四)$nextTick
    $nextTick$nextTick这也是一个生命周期​ 如果要实现一个input框点击后进行一些数据修改的操作【这里是指能够引起Vue重新解析模板的数据修改操作,比如修改data中的数据】,然后让该input框获取焦点,该怎么做?//Item组件中有一个input输入框和一个编辑按钮,实现点击按钮后input框显......
  • Vue CLI 系列之(十三)消息订阅与发布
    消息订阅与发布【pubsub】1.理解消息订阅与发布2.原理图​ 通过报纸的订阅与发布来理解就是:A去C那订阅了报纸demo,并说明了自己的住址test,由于test是定义在A中的,而A又把test的引用提供出来了,这样C只要一调用test,自动就来到了A这,也就找到了A住的地儿,C发布test报纸时携带的内......