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


Posted in Javascript onAugust 31, 2018

之前做过页面内的跳转,比较简单,最近项目需要实现跨页面跳转,并跳转到指定地点,试了很多方法,有用到传递参数然后让页面滚动相应的距离,但是一旦文章长短发生变化,滚动的距离也需要重新计算,比较麻烦,所以最后总结出这两种比较靠谱的方法,只需要在需要跳转的地方加上合适的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 利用路由跳转到指定页面的指定位置方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
jquery 简单的进度条实现代码
Mar 11 Javascript
JavaScript中“+”的陷阱深刻理解
Dec 04 Javascript
Js操作树节点自动折叠展开的几种方法
May 05 Javascript
javascript字符串对象常用api函数小结(连接,替换,分割,转换等)
Sep 20 Javascript
js 打开新页面在屏幕中间的实现方法
Nov 02 Javascript
JS实现的DIV块来回滚动效果示例
Feb 07 Javascript
Vue.js实现简单动态数据处理
Feb 13 Javascript
Node.js数据库操作之查询MySQL数据库(二)
Mar 04 Javascript
JavaScript实现替换字符串中最后一个字符的方法
Mar 07 Javascript
ES6新特性之Object的变化分析
Mar 31 Javascript
微信小程序实现获取小程序码和二维码java接口开发
Mar 29 Javascript
详解Vue源码中一些util函数
Apr 24 Javascript
Vue 莹石摄像头直播视频实例代码
Aug 31 #Javascript
JavaScript实现简单的隐藏式侧边栏功能示例
Aug 31 #Javascript
Vue加载组件、动态加载组件的几种方式
Aug 31 #Javascript
Bootstrap模态对话框用法简单示例
Aug 31 #Javascript
微信小程序视图容器(swiper)组件创建轮播图
Jun 19 #Javascript
angular 实时监听input框value值的变化触发函数方法
Aug 31 #Javascript
vuejs实现ready函数加载完之后执行某个函数的方法
Aug 31 #Javascript
You might like
php实现cookie加密的方法
2015/03/10 PHP
ThinkPHP框架中使用Memcached缓存数据的方法
2018/03/31 PHP
thinkphp框架类库扩展操作示例
2019/11/26 PHP
基于jquery编写的横向自适应幻灯片切换特效的实例代码
2013/08/06 Javascript
获取当前点击按钮的id用this.id实现
2014/03/17 Javascript
jQuery中 attr() 方法使用小结
2015/05/03 Javascript
使用Node.js实现一个多人游戏服务器引擎
2019/03/13 Javascript
js作用域和作用域链及预解析
2019/04/11 Javascript
vue实现给div绑定keyup的enter事件
2020/07/31 Javascript
[08:44]和酒神一起战斗 DOTA2教你做大人
2014/03/27 DOTA
Python中模拟enum枚举类型的5种方法分享
2014/11/22 Python
python使用fileinput模块实现逐行读取文件的方法
2015/04/29 Python
Mac 上切换Python多版本
2017/06/17 Python
Python+tkinter模拟“记住我”自动登录实例代码
2018/01/16 Python
python实现内存监控系统
2021/03/07 Python
解决python读取几千万行的大表内存问题
2018/06/26 Python
获取python的list中含有重复值的index方法
2018/06/27 Python
Python logging设置和logger解析
2019/08/28 Python
python字符串替换re.sub()方法解析
2019/09/18 Python
Python利用 utf-8-sig 编码格式解决写入 csv 文件乱码问题
2020/02/21 Python
python字典key不能是可以是啥类型
2020/08/04 Python
区分python中的进程与线程
2020/08/13 Python
Python自动化测试中yaml文件读取操作
2020/08/20 Python
英国家喻户晓的高街品牌:River Island
2017/11/28 全球购物
斯洛伐克香水和化妆品购物网站:Parfemy-Elnino.sk
2020/01/28 全球购物
全球异乡人的跨境社交电商平台:Kouhigh口嗨网
2020/07/24 全球购物
到底Java是如何传递参数的?是by value或by reference?
2012/07/13 面试题
继承时候类的执行顺序问题,一般都是选择题,问你将会打印出什么?
2015/11/18 面试题
校长就职演讲稿
2014/01/06 职场文书
春节请假条
2014/04/11 职场文书
高二学生评语大全
2014/04/25 职场文书
党员教师四风问题整改措施思想汇报
2014/10/08 职场文书
党员民主评议个人总结
2014/10/20 职场文书
庐山导游词
2015/02/03 职场文书
2016年毕业实习心得体会范文
2015/10/09 职场文书
Python集合set()使用的方法详解
2022/03/18 Python