我正在使用一个 Angular 6 项目,在该项目中我禁用/删除了从 URL 中删除 # 的 hash-location-strategy。
由于此更改,链接具有:
<li routerLinkActive="active">
<a [routerLink]="['/settings']">Contact Settings</a>
<ul class="child-link-sub">
<li>
<a href="#contactTypes">Contact Types</a>
</li>
</ul>
</li>
不再工作它只是跳过当前组件 URL 并将 #contactTypes 放在 localhost 之后。
我发现这个 github 问题 应该使用
<a [routerLink]="['/settings/']" fragment="contactTypes" >Contact Types</a>
它将 #contactTypes 放在 URL 的末尾,但它不会滚动到浏览器的顶部。
来源: https ://github.com/angular/angular/issues/6595
原文由 Suresh Karia 发布,翻译遵循 CC BY-SA 4.0 许可协议
Angular 6.1 带有一个名为
anchorScrolling
的选项,它位于路由器模块的ExtraOptions
中。正如anchorScrolling
定义 所说:你可以这样使用它: