angular - Angular 8滚动到片段,不会将片段带到页面顶部
问题描述
我有一个链接,通过单击链接,我想滚动到页面底部的片段。当我单击该链接时,该片段正在工作,但它不会将其带到页面顶部。
我尝试使用带有 id 的 div 和 section 来创建片段。但是,它不会将 div 或部分带到页面顶部。
我的应用程序路由模块中的代码是:
imports: [
RouterModule.forRoot(routes, {
//useHash: true,
scrollPositionRestoration: 'enabled',
onSameUrlNavigation: 'reload',
anchorScrolling: 'enabled'
})]
我的链接和片段的组件代码:
<a [routerLink]="['/proposal']" fragment="dcn">{{ dcn }}</a>
<section id="dcn">
Some other html here
</section>
请注意,我尝试过使用useHash:true
,但它似乎不起作用。我更喜欢一个useHash
不真实的解决方案。
解决方案
我使用这样的代码滚动到元素:
HTML:
<button (click)="scroll(target)"></button>
<div #target>Your target</div>
TS:
scroll(el: HTMLElement) {
el.scrollIntoView();
}
也许这对你有帮助。
记住:要页面滚动到元素,页面必须有足够的内容才能生成滚动条/滚动条,否则没有内容可以滚动。
推荐阅读
- javascript - 如何单独更改绑定网格视图
- php - 如何从链接下载文件?
- html - 使用Requests bs4 Python3.8从长元素中抓取文本
- intellij-idea - 在 intellij 中获取以下“打开 zip 文件或 JAR 清单时出错:/path/spring-instrument-4.2.4.RELEASE.jar”
- javascript - setInterval 不调用函数 Discord rpc
- sorting - 如何比较两个目录并将唯一的文件(名称或内容)移动到其他地方的第一个目录?
- python - 为什么我的 bot.get_user(user_id) 在 discord.py 中没有返回我?
- apache-superset - 为什么在 Apache Superset 中使用 SQL LAB 查询创建图表时会出现基本错误?
- python - 计算数据框中具有多列的成对行中的常见元素
- python - 减少 Google App Engine 部署时间?