我正在使用Angular 6项目,其中我已禁用/删除了哈希位置策略,从而从URL中删除了#。
由于这个改变,链接上有:
<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,并在localhost后面放置#contactTypes。
我发现了这个github问题,应该可以解决这个问题。
<a [routerLink]="['/settings/']" fragment="contactTypes" >Contact Types</a>
这会将 #contactTypes 放在 URL 的末尾,但它不会滚动到浏览器的顶部。
onSameUrlNavigation: 'reload'
选项。 - Nitin AvulaanchorScrolling: 'enabled',onSameUrlNavigation: 'reload',scrollPositionRestoration: 'enabled'
。 - KrishnananchorScrolling
不会自动工作,例如,如果我直接在新浏览器中打开http://my-ng-app.com/route#section-1,则不会将我带到“section-1”。可能应该有一种设置或手动方式来解决这个问题? - Krishnan