当前位置: 首页 > 编程笔记 >

Angular 利用路由跳转到指定页面的指定位置方法

臧翰采
2023-03-14
本文向大家介绍Angular 利用路由跳转到指定页面的指定位置方法,包括了Angular 利用路由跳转到指定页面的指定位置方法的使用技巧和注意事项,需要的朋友参考一下

之前做过页面内的跳转,比较简单,最近项目需要实现跨页面跳转,并跳转到指定地点,试了很多方法,有用到传递参数然后让页面滚动相应的距离,但是一旦文章长短发生变化,滚动的距离也需要重新计算,比较麻烦,所以最后总结出这两种比较靠谱的方法,只需要在需要跳转的地方加上合适的id就行,原理和单页面内跳转相似。

detail.component.html

<p>You'll see which payment methods are available to you on the checkout page, before you submit a reservation request. After you select your country, all of your payment details will be shown.</p>
<p id="readMore">We charge featured guide who offer journey a 15% service fee. The amount of the service fee is calculated from the price that featured guide set for their journey. You will see the service fee when you set your price before submitting a journey. The service fee is automatically deducted from the payout to the Host.
  

Depending on the laws of the jurisdiction involved, VAT may be charged on top of the service fee. The service fee will include these VAT charges when applicable.</p>

app.component.html

<button (click)="readMore()">ReadMore</button>

app.route.ts

 { path: '',component: LoginComponent},
 { path: 'detail', component: DetailComponent },
 { path: '**',component: NotFoundComponent}

方法一:新增路由地址来实现

app.route.ts

 { path: '',component: LoginComponent},
 { path: 'detail', component: DetailComponent },
 { path: 'detail#readMore',component: NotFoundComponent},
 { path: '**',component: NotFoundComponent}

app.component.ts

readMore() {
this.router.navigateByUrl('/detail#readMore');
 }

detail.component.ts

ngOnInit() {
 if (window.location.hash === '#readMore') {
  window.location.assign('detail#readMore');
 }
 }

方法二:在原路由地址不变的情况下,利用路由传递参数来实现

app.component.ts

readMore() {
 this.router.navigate(['/detail', { id: 'readMore'}]);
 }
detail.component.ts

this.myActivatedRoute.params.subscribe(
  (data: any) => {
  if (data.id === 'readMore') {
   window.location.assign('detail#readMore');
  }
  }
 );

以上这篇Angular 利用路由跳转到指定页面的指定位置方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持小牛知识库。

 类似资料:
  • #include <stdio.h> void fun (int x) { if (x < 0) puts ("error"); } int main (void) { int i = 1; fun (i--); fun (i--); fun (i--); return 0; } 技巧 当调试程序时,你可能不小心走过了出错的地方: (gdb) n 13

  • 本文向大家介绍jquery 仿锚点跳转到页面指定位置的实例,包括了jquery 仿锚点跳转到页面指定位置的实例的使用技巧和注意事项,需要的朋友参考一下 js 仿锚点跳转到页面指定位置,用的是 offset() 方法 jQuery: offset(): 获取匹配元素在当前视口的相对偏移。 返回的对象包含两个整型属性:top 和 left。此方法只对可见元素有效。 position(): 获取匹配元素

  • 本文向大家介绍Unity控制指针旋转到指定位置,包括了Unity控制指针旋转到指定位置的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了Unity控制指针旋转到指定位置的具体代码,供大家参考,具体内容如下 一、搭建基础的表盘、指针 二、编写控制指针旋转到指定位置的脚本: 三、将该脚本添加给指针物体,然后运行输入对应的旋转角度指针即可旋转 以上就是本文的全部内容,希望对大家的学习有所帮助

  • 本文向大家介绍利用Nginx的map指令实现页面跳转,包括了利用Nginx的map指令实现页面跳转的使用技巧和注意事项,需要的朋友参考一下 前言 本文主要介绍了利用Nginx中map指令实现页面跳转的方法,有需要的下面来一起学习学习。 实现方法 在 nginx.conf 的 http 域中添加 map 指令规则,这里包含一个 URL 规则映射文件: map 指令支持引入一个映射文件的方式,这里 r

  • 英文原文: http://emberjs.com/guides/routing/specifying-a-routes-model/ 指定路由的模型 应用中的模板背后是由模型来支撑的。那么模板是如何知道需要显示哪些模型的呢? 例如,如果有一个photos模板,那么它是如何知道应该渲染哪一个模型的呢? 这正是Ember.Route的工作之一。通过定义一个与模板同名的,并实现其model方法的路由,是

  • 本文向大家介绍vue路由拦截及页面跳转的设置方法,包括了vue路由拦截及页面跳转的设置方法的使用技巧和注意事项,需要的朋友参考一下 路由设置:router/index.js main.js: login.vue: 登陆成功后:  总结 以上所述是小编给大家介绍的vue路由拦截及页面跳转的设置方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对呐喊教程网