路由传参的几种方式

路由跳转的两种方式

1. 声明式导航

1. 使用router-link的to属性进行路由跳转 to的值是要跳转到的那个路由

// 1.1 to后直接跟路由
<router-link to="/home">to home</router-link> 
// 1.2 to后跟一个配置对象path属性是要跳转到的那个路由
<router-link :to="{ path: '/home' }">to home</router-link> 
// 1.3 to后跟一个配置对象,使用命名路由的name进行跳转
<router-link :to="{ name: 'homeIndex' }">to home</router-link>

2. 查询字符串形式 路由传参  to的值是一个配置对象 以查询字符串形式携带 url?id=123
// 2.1 以 url?id=123&name=zs的形式携带
<router-link :to="{ path: '/home?id=123' }">to home?id=123</router-link>
// 2.2 以query属性进行传参
<router-link :to="{ path: '/home', query: { id: 123 } }">to home 以query携带</router-link>
// 2.3 以params进行传参 需要命名路由name
<router-link :to="{ name: 'userIndex', params: { id: 123 } }">to user 以params携带</router-link>

2. 编程式导航

1. 使用this.$router进行跳转 $router可以访问到路由的实例

this.$router.push('/home')
this.$router.push('/home?id=123')
this.$router.push({ path: '/home', query: { id: 123 } })
this.$router.push({ name: 'homeIndex', params: { id: 123 } })

2. $router实例的跳转方法
push() 跳转到指定的路由,向history历史中添加记录,点击返回,返回到来之前的路由。
go(n) 向前前进 n 或 后退 n个路由 n可为负数
replace() 跳转到指定的路由,但是不会在history中添加记录,点击返回,会跳转到上上一个路由。
back() 后退
forward() 前进

3. 参数的接收

// 1. 查询字符串   url?id123    query
this.$route.query
m// 2. params
this.$route.params

注意:
以查询字符串 query进行传递的参数,刷新页面,数据依然存在。
以params传递的参数,刷新页面就会丢失。
跳转用$router
获取参数用$route

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1.动态路由传参 在配置路由时,在需要传递参数的路由中配置动态路由来接受参数。 此时可以通过编程式路由导航或者<r...
    啊Oi阅读 2,108评论 0 3
  • vue中的路由 第一点:指令级别的路由<router-link>和程序级别的路由router.push(); 第二...
    我欢喜喜欢你阅读 900评论 0 3
  • 点击当前页的某个按钮跳转到另外一个页面去,并将某个值带过去 特别注意哦, 组件中 获取参数的时候是route.pa...
    程序萌阅读 659评论 0 0
  • 路由基础知识 router和route的区别 route,是一个路由。 routes,是一组路由。 router,...
    lesdom阅读 1,729评论 5 13
  • 路由传参:六种方法 1,router-link to = '/' 字符串传参 通过router-link to传值...
    jasmine_6aa1阅读 175评论 0 1

友情链接更多精彩内容