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 lazyLoad图片延迟加载插件的优化改造方法分享
Aug 13 Javascript
showModalDialog模态对话框的使用详解以及浏览器兼容
Jan 11 Javascript
JS获取文本框,下拉框,单选框的值的简单实例
Feb 26 Javascript
bootstrap布局中input输入框右侧图标点击功能
May 16 Javascript
jquery事件绑定解绑机制源码解析
Sep 19 Javascript
浅谈js的ajax的异步和同步请求的问题
Oct 07 Javascript
原生js的RSA和AES加密解密算法
Oct 08 Javascript
vue.js加载新的内容(实例代码)
Jun 01 Javascript
VUE+elementui面包屑实现动态路由详解
Nov 04 Javascript
vue.js的简单自动求和计算实例
Nov 08 Javascript
VUEX-action可以修改state吗
Nov 19 Javascript
JavaScript动态生成表格的示例
Nov 02 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
咖啡店都有些什么常规豆子呢?有什么风味在里面
2021/03/04 咖啡文化
PHP中显示格式化的用户输入
2006/10/09 PHP
php基础知识:类与对象(4) 范围解析操作符(::)
2006/12/13 PHP
让PHP支持页面回退的两种方法
2008/01/10 PHP
解决文件名解压后乱码的问题 将文件名进行转码的代码
2012/01/10 PHP
php实现MD5加密16位(不要默认的32位)
2013/08/12 PHP
PHP快速按行读取CSV大文件的封装类分享(也适用于其它超大文本文件)
2014/04/10 PHP
PHP中浮点数计算比较及取整不准确的解决方法
2015/01/09 PHP
PHP使用缓存即时输出内容(output buffering)的方法
2015/08/03 PHP
PHP使用file_get_content设置头信息的方法
2016/02/14 PHP
PHP 微信扫码支付源代码(推荐)
2016/11/03 PHP
tp5 实现列表数据根据状态排序
2019/10/18 PHP
Laravel框架Eloquent ORM修改数据操作示例
2019/12/03 PHP
javascript编程起步(第六课)
2007/01/10 Javascript
javascript-简单的计算器实现步骤分解(附图)
2013/05/30 Javascript
Jquery 实现表格颜色交替变化鼠标移过颜色变化实例
2013/08/28 Javascript
jquery+ajax+C#实现无刷新操作数据库数据的简单实例
2014/02/08 Javascript
js 实现浏览历史记录示例
2014/04/20 Javascript
浅析基于WEB前端页面的页面内容搜索的实现思路
2014/06/10 Javascript
jQuery实现“扫码阅读”功能
2015/01/21 Javascript
第五篇Bootstrap 排版
2016/06/21 Javascript
微信小程序实现选项卡功能
2020/06/19 Javascript
微信小程序合法域名配置方法
2019/05/06 Javascript
Vue内部渲染视图的方法
2019/09/02 Javascript
微信小程序实现点击页面出现文字
2020/09/21 Javascript
零基础写python爬虫之神器正则表达式
2014/11/06 Python
对python中的xlsxwriter库简单分析
2018/05/04 Python
在脚本中单独使用django的ORM模型详解
2020/04/01 Python
解决windows上安装tensorflow时报错,“DLL load failed: 找不到指定的模块”的问题
2020/05/20 Python
python 中 .py文件 转 .pyd文件的操作
2021/03/04 Python
详解background属性的8个属性值(面试题)
2020/11/02 HTML / CSS
自我鉴定思想方面
2013/10/07 职场文书
人力资源主管的岗位职责
2014/03/15 职场文书
职称评定自我鉴定
2014/03/18 职场文书
健康家庭事迹材料
2014/05/02 职场文书
2015年秋季学校开学标语
2015/07/16 职场文书