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 相关文章推荐
Javascript 类型转换方法
Oct 24 Javascript
JavaScript实现文字与图片拖拽效果的方法
Feb 16 Javascript
jQuery实现获取元素索引值index的方法
Sep 18 Javascript
8 行 Node.js 代码实现代理服务器
Dec 05 Javascript
EasyUI的DataGrid绑定Json数据源的示例代码
Dec 16 Javascript
如何去除vue项目中的#及其ie9兼容性
Jan 11 Javascript
vue mounted组件的使用
Jun 18 Javascript
微信小程序自定义弹窗wcPop插件
Nov 19 Javascript
JS选取DOM元素常见操作方法实例分析
Dec 10 Javascript
用webpack4开发小程序的实现方法
Jun 04 Javascript
vue或react项目生产环境去掉console.log的操作
Sep 02 Javascript
vue 路由meta 设置导航隐藏与显示功能的示例代码
Sep 04 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错误抑制符(@)导致引用传参失败Bug的分析
2011/05/02 PHP
国外PHP程序员的13个好习惯小结
2012/02/20 PHP
HTML中嵌入PHP的简单方法
2016/02/16 PHP
jQuery 表格工具集
2010/04/25 Javascript
基于jquery的不规则矩形的排列实现代码
2012/04/16 Javascript
JQuery操作三大控件(下拉,单选,复选)的方法
2013/08/06 Javascript
nodejs文件操作模块FS(File System)常用函数简明总结
2014/06/05 NodeJs
js阻止浏览器默认行为的简单实例
2016/05/15 Javascript
使用jsonp实现跨域获取数据实例讲解
2016/12/25 Javascript
jQuery插件echarts实现的单折线图效果示例【附demo源码下载】
2017/03/04 Javascript
Axios学习笔记之使用方法教程
2017/07/21 Javascript
浅谈Vue 初始化性能优化
2017/08/31 Javascript
重学JS 系列:聊聊继承(推荐)
2019/04/11 Javascript
js纯前端实现腾讯cos文件上传功能的示例代码
2019/05/14 Javascript
vue filter 完美时间日期格式的代码
2019/08/14 Javascript
解决vue打包后刷新页面报错:Unexpected token
2019/08/27 Javascript
WEB前端性能优化的7大手段详解
2020/02/04 Javascript
[46:25]DOTA2上海特级锦标赛主赛事日 - 4 败者组第五轮 MVP.Phx VS EG第二局
2016/03/05 DOTA
[01:38]完美世界DOTA2联赛(PWL)宣传片:第一站
2020/10/26 DOTA
python遍历文件夹并删除特定格式文件的示例
2014/03/05 Python
Django中模版的子目录与include标签的使用方法
2015/07/16 Python
windows及linux环境下永久修改pip镜像源的方法
2016/11/28 Python
Pycharm+Scrapy安装并且初始化项目的方法
2019/01/15 Python
Win10环境python3.7安装dlib模块趟过的坑
2019/08/01 Python
Sublime Text3最新激活注册码分享适用2020最新版 亲测可用
2020/11/12 Python
新加坡航空官方网站:Singapore Airlines
2016/10/13 全球购物
印度网上药店:1mg
2017/10/13 全球购物
乌克兰最大的家用电器和电子产品连锁店:Eldorado
2019/10/02 全球购物
主键(Primary Key)约束和唯一性(UNIQUE)约束的区别
2013/05/29 面试题
蔬菜基地的创业计划书
2014/01/06 职场文书
红色故事演讲稿
2014/05/22 职场文书
财务部副经理岗位职责范本
2014/06/17 职场文书
党的群众路线领导班子整改方案
2014/09/27 职场文书
办公室主任四风问题对照检查材料思想汇报
2014/09/28 职场文书
大学生活感想
2015/08/10 职场文书
vue3 自定义图片放大器效果的示例代码
2022/07/23 Vue.js