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 键盘事件的几个基本方法
Oct 30 Javascript
JavaScript 常用函数
Dec 30 Javascript
深入理解JavaScript系列(10) JavaScript核心(晋级高手必读篇)
Jan 15 Javascript
js编码之encodeURIComponent使用介绍(asp,php)
Mar 01 Javascript
解析img图片没找到onerror事件 Stack overflow at line: 0
Dec 23 Javascript
jquery控制页面部分刷新的方法
Jun 24 Javascript
Bootstrap3.3.7导航栏下拉菜单鼠标滑过展开效果
Oct 31 Javascript
JavaScript实现的简单Tab点击切换功能示例
Jul 06 Javascript
JavaScript惰性载入函数实例分析
Mar 27 Javascript
在vue项目中使用sass语法问题
Jul 18 Javascript
解决Vue中使用keepAlive不缓存问题
Aug 04 Javascript
微信小程序实现弹幕墙(祝福墙)
Nov 18 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创建图像具体步骤
2017/03/13 PHP
php base64 编码与解码实例代码
2017/03/21 PHP
php+resumablejs实现的分块上传 断点续传功能示例
2017/04/18 PHP
PHP preg_match实现正则表达式匹配功能【输出是否匹配及匹配值】
2017/07/19 PHP
TP5多入口设置实例讲解
2020/12/15 PHP
代码生成器 document.write()
2007/04/15 Javascript
根据一段代码浅谈Javascript闭包
2010/12/14 Javascript
使用apply方法处理数组的三个技巧[译]
2012/09/20 Javascript
js实现div闪烁原理及实现代码
2014/06/24 Javascript
浅谈被jQuery抛弃的函数及替代函数
2015/05/03 Javascript
jquery实现的美女拼图游戏实例
2015/05/04 Javascript
jquery单击文字或图片内容放大并居中显示
2017/06/23 jQuery
JavaScript实现三级联动效果
2017/07/15 Javascript
vue中实现先请求数据再渲染dom分享
2018/03/17 Javascript
微信小程序实现同一页面取值的方法分析
2019/04/30 Javascript
微信小程序 高德地图路线规划实现过程详解
2019/08/05 Javascript
微信小程序swiper使用网络图片不显示问题解决
2019/12/13 Javascript
简单实现python聊天程序
2018/04/01 Python
python smtplib模块自动收发邮件功能(一)
2018/05/22 Python
将Django项目部署到CentOs服务器中
2018/10/18 Python
Python 学习教程之networkx
2019/04/15 Python
python pandas获取csv指定行 列的操作方法
2019/07/12 Python
基于Python新建用户并产生随机密码过程解析
2019/10/08 Python
tensorflow之获取tensor的shape作为max_pool的ksize实例
2020/01/04 Python
使用Bazel编译TensorBoard教程
2020/02/15 Python
TensorFlow tf.nn.softmax_cross_entropy_with_logits的用法
2020/04/19 Python
Joe Fresh官网:加拿大时尚品牌和零售连锁店
2016/11/30 全球购物
英国第一职业高尔夫商店:Clickgolf.co.uk
2020/11/18 全球购物
技校生自我鉴定范文
2013/09/26 职场文书
经理职责范文
2013/11/08 职场文书
行政助理的职责
2013/11/14 职场文书
社区平安建设汇报材料
2014/08/14 职场文书
邓小平理论心得体会
2014/09/09 职场文书
大学生心理健康活动总结
2015/05/08 职场文书
关于Mybatis中SQL节点的深入解析
2022/03/19 Java/Android
古见同学有交流障碍症 第二季宣传CM公开播出
2022/04/11 日漫