记一次vue中路由跳转

跳转方式:

1,name-params

this.$router.push({name:'insureDetail',params:item})

跳转后的页面接收参数:

this.item = this.$route.params

2,path-query

this.$router.push({path:'insureDetail',query:item})

跳转后的页面接收参数:

this.insureInfo = this.$route.query

2种方式的区别在于:

path-query方式会把参数直接显示于地址栏中,而name-params不会

 

注意点:

跳转之前,设置路径、参数是 $router

跳转之后,接受参数是 $route

拓展:

$router : 是路由操作对象,只写对象

$route : 路由信息对象,只读对象

Vue 3中,实现路由跳转有多种方法,具体如下: ### 使用`useRouter`函数(组合式API) 可以在`<script setup>`中使用`useRouter`函数获取路由实例,然后调用`router.push()`方法进行路由跳转。`router.push()`方法可以接受多种参数形式,以下是几种常见的使用方式: - **传入路由URL** ```vue <template> <button @click="goNews">跳转新闻</button> </template> <script setup lang="ts"> import { useRouter } from 'vue-router'; const router = useRouter(); function goNews() { router.push("/news?mykey=luckey"); } </script> ``` - **传入包含`path`和`query`的对象** ```vue <template> <button @click="goHome">跳转主页</button> </template> <script setup> import { useRouter } from 'vue-router'; const router = useRouter(); const goHome = () => { router.push({ path: '/home', query: { id: '12' } }); }; </script> ``` - **传入包含`path`和`params`的对象** ```vue <template> <button @click="goHomeWithParams">跳转主页(带参数)</button> </template> <script setup> import { useRouter } from 'vue-router'; const router = useRouter(); const goHomeWithParams = () => { router.push({ path: '/home', params: { a: 12 } }); }; </script> ``` - **通过路由名称跳转** ```vue <template> <button @click="goToAbout">跳转到关于页</button> </template> <script setup> import { useRouter } from 'vue-router'; const router = useRouter(); const goToAbout = () => { router.push({ name: 'About' }); }; </script> ``` 上述示例中的代码分别参考了引用[1]、引用[2]和引用[3]。 ### 使用`router.resolve`结合`window.open`新窗口打开页面 `router.push`只能在当前窗口打开页面,而`router.resolve`结合`window.open`可以在新窗口打开页面。不过需要注意的是,`router.resolve`只支持`query`参数,如果需要地址栏参数不可见,需结合`localStorage`或第三方插件保存。 ```vue <template> <button @click="openUserPage">在新窗口打开用户页</button> </template> <script setup> import { useRouter } from 'vue-router'; const router = useRouter(); const openUserPage = () => { window.open(router.resolve({ path: "/user", query: { a: 1 } }).href, '_blank'); }; </script> ``` 此示例代码参考了引用[2]。 ### 使用`RouterLink`组件 使用`RouterLink`组件可以方便地实现路由间的跳转,它会渲染成一个`<a>`标签。 ```vue <template> <RouterLink to="/about">跳转到关于页</RouterLink> </template> ``` 此方式虽然在给定引用中未详细代码示例,但在Vue 3路由中是常见的基础用法。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值