前端页面路由跳转方式详解

本文总结以下几种前端页面路由的跳转方式:

  • 第一种方式:navigate;
  • 第二种方式:window.open;
  • 第三种方式:document.getElementById("a标签id").click();
  • 第四种方式:routerLink;

1.navigate

【说明】:navigate的效果是在当前页面直接跳转至指定路由,当前页面会被覆盖掉,而且不会对跳转后的页面数据进行刷新,也就是说,跳转后的页面显示的还是旧数据。

假设指定需要跳转的目标路由是“/class/student”。

ts代码如下:

this.router.navigate(['/class/student'])

2.window.open

【说明】:window.open的效果是打开新页面,在新页面进入指定链接并且会刷新页面数据,不论指定链接是否在已有页面中打开,window.open都会重新打开页面并进入指定链接,该方法被调用多少次,就会重新打开多少页面。

假设指定需要跳转的目标路由是“/class/student”。

ts代码如下:

window.open( window.location.host+'/class/student');

3.document.getElementById("a标签id").click();

【说明】:这种方式的效果是执行代码自动触发html中id为openStudent的a标签中的链接,进而跳转进入指定页面,这样就不用手动点击a标签的链接进入指定页面。

假设指定需要跳转的目标路由是“/class/student”。

ts代码如下:

document.getElementById("openStudent").click();

html代码如下:

<a class="btn " appClick [target]='"blank"' [routerLink]='/class/student' ><span id="openStudent">进入学生信息界面</span></a>

4.routerLink

【说明】:a标签中使用[routerLink],手动点击a标签中的链接,[routerLink]的效果是另外打开一个页面,在新页面中进入指定路由“/class/student”并且会刷新页面数据,而不是在当前页面直接跳转至指定路由,如果路由“/class/student”已经在其他页面打开,那么[routerLink]会直接跳转至路由“/class/student”对应的页面,但不会刷新页面数据。

假设指定需要跳转的目标路由是“/class/student”。

html代码如下:

<a class="btn " appClick [target]='"blank"' [routerLink]='/class/student' ><span id="openStudent">进入学生信息界面</span></a>

routerLink的几种写法:

(1).[routerLink]='/class/student':斜杠开头表示使用绝对路径进行路由导航;

(2).[routerLink]='../student':两个点开头表示相对于父路径进行路由导航;

(3).[routerLink]='./student':一个点开头表示相对于当前路径进行路由导航。

前端点击事件跳转路由可以通过多种方式实现。其中一种常见的方式是使用navigate函数。这个函数可以在当前页面直接跳转至指定的路由,并且当前页面会被新页面覆盖掉。需要注意的是,使用navigate函数跳转后的页面不会自动刷新,所以显示的数据可能还是旧数据。 另外还有其他几种前端页面路由跳转方式。其中一种是使用window.open函数,这个函数可以打开一个新的浏览器窗口并跳转至指定的路由。 还有一种方式是使用document.getElementById("a标签id").click(),这个方式可以通过JavaScript模拟点击一个带有指定id属性的a标签来实现路由跳转。 最后还可以使用routerLink指令来实现路由跳转,这个指令可以直接在HTML模板中设置跳转路由的链接。 综上所述,前端点击事件跳转路由可以通过使用navigate函数、window.open函数、document.getElementById("a标签id").click(),以及routerLink指令等多种方式来实现。具体使用哪种方式可以根据具体的需求和场景来选择。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [若依框架VUE前端界面,登录后默认跳转至动态路由第一路由(第一个子菜单)](https://download.csdn.net/download/qq_41089622/87411904)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [前端页面路由跳转方式详解](https://blog.csdn.net/qq_40018576/article/details/123844726)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值