vue中页面(路由)跳转及传值的几种方式 router-link + query + params

本文详细介绍了在Vue.js应用中使用`router-link`和`this.$router.push()`进行页面跳转以及参数传递的方法。包括使用query和params的区别,以及何时选择query或params。当使用params时,必须通过name指定页面,而query参数会显示在URL上并能在刷新后保留。此外,还提到了通过LocalStorage、SessionStorage和vux等其他方式传递数据。

vue中页面(路由)跳转及传值的几种方式

知道query 和 params 是什么

参考文案:https://www.php.cn/js-tutorial-382859.html

跳转的几种方式与传值

1、router-link

1.1 根据路由路径(无参数与有参数)
 

<router-link to = "/page">跳转到page页面</router-link>
<router-link :to = "{ path: '/page', query: { id: '001' } }">跳转到page页面</router-link>

1.2 根据路由名称 (无参数和有参数的区别)

<router-link :to = "{ name: 'page', query: { id: '110' } }">跳转到page页面</router-link>
<router-link :to = "{ name: 'page', params: { id: '110' } }">跳转到page页面</router-link>

使用路由与路径·的注意事项:

:to=“” 可以实现绑定动态的 路由 和 参数
注意:router-link中链接如果是‘/‘开始就是从根路由开始,如果开始不带‘/’,则从当前路由开始。
使用params时 是不能通过path跳转的
由于动态路由也是传递params的(/page/123?id=123),所以在 this.$router.push() 方法中path不能和params一起使用,否则params将无效。
所以,使用params的时候,只能用name来指定页面。
router-link 的使用/功能

实现路由切换,就是小模块的路由切换,这个时候的router就相当于a标签

### 如何使用 `router-link` 实现页面跳转Vue.js 中,`<router-link>` 是一个核心组件,用于实现页面间的导航功能。该组件可以根据其属性动态生成 `<a>` 标签,绑定必要的事件以触发路由跳转[^1]。 以下是基本的 `<router-link>` 使用方法: ```html <template> <div> <!-- 基本用法 --> <router-link to="/home">Home</router-link> <router-link to="/about">About</router-link> <!-- 如果需要递参数 --> <router-link :to="{ name: 'UserProfile', params: { userId: 123 }}">User Profile</router-link> <!-- 替代写法:通过 query 参数--> <router-link :to="{ path: '/search', query: { q: 'Vue' }}">Search</router-link> </div> </template> ``` #### 跳转到新标签页的示例 如果希望 `<router-link>` 的目标链接能够在新的浏览器标签页中打开,则可以通过设置 `tag="a"` 和 `target="_blank"` 来实现此目的[^3]。具体代码如下所示: ```html <template> <div> <!-- 新标签页跳转 --> <router-link :to="{ path: '/details' }" tag="a" target="_blank" > Open Details in New Tab </router-link> </div> </template> ``` 在此示例中,`:to` 动态绑定了路径 `/details`,而 `tag="a"` 将 `<router-link>` 渲染为标准 HTML 锚点标签,从而允许我们添加 `target="_blank"` 属性来开启新窗口或标签页的功能[^3]。 ### 注意事项 当使用 `target="_blank"` 打开外部链接或者内部路由时,建议始终附加 `rel="noopener noreferrer"` 属性,这样可以防止新开的页面获取对原始页面的访问权限,提高安全性[^3]。 ```html <router-link :to="{ path: '/external-site' }" tag="a" target="_blank" rel="noopener noreferrer" > External Site </router-link> ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ougexingfuba

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值