Angular 利用路由跳转到指定页面的指定位置方法
2018-08-31 14:27
2521 查看
之前做过页面内的跳转,比较简单,最近项目需要实现跨页面跳转,并跳转到指定地点,试了很多方法,有用到传递参数然后让页面滚动相应的距离,但是一旦文章长短发生变化,滚动的距离也需要重新计算,比较麻烦,所以最后总结出这两种比较靠谱的方法,只需要在需要跳转的地方加上合适的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 利用路由跳转到指定页面的指定位置方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。
您可能感兴趣的文章:
相关文章推荐
- Angular 利用路由跳转到指定页面的指定位置
- 控制div跳转到指定位置的若干方法&控制页面定位到指定位置
- html js点击按钮滚动跳转定位到页面指定位置(DIV)的方法代码
- 页面a跳转到页面b指定位置的方法
- 页面中利用JS定位到指定位置
- 基于jquery的从一个页面跳转到另一个页面的指定位置的实现代码
- js实现页面滚动切换导航栏/点击导航栏跳转到指定位置
- jquery实现跳转到页面指定位置
- vue A页面路由跳转到B页面,在B页面刷新会返回A页面,怎么样用sessionstorage存储使其留在B页面,或者有别的方法吗
- ios 应用中直接跳转到指定app页面 或者 app 评价页面 的方法
- js,jquery滚动/跳转页面到指定位置的实现思路
- 2种方式解决vue路由跳转未匹配相应路由避免出现空白页面或者指定404页面
- ios 应用中直接跳转到指定app页面 或者 app 评价页面 的方法
- 从一个页面跳转到另一个页面的指定位置(带平滑移动的效果)
- 跳转页面时跳到指定的页面位置
- 利用javascript实现页面跳转的几种方法
- c#利用Javascript跳转页面的方法
- 如何利用JS判断当前来路域名并跳转到指定页面
- html页面实现指定位置的跳转
- 跳转页面定位到指定的位置(转)