【发布时间】:2018-06-24 22:53:05
【问题描述】:
我想要一个锚链接以使用 id 标签跳转到同一页面中的特定部分。这是我的html:
<div class="nav-container">
<ul class="nav text-center">
<li class="active">
<a href="#account-services">Services</a>
</li>
<li>
<a [routerLink]="['//account/'+account.account_id]" fragment="account-about">About</a>
</li>
<li>
<a href="#account-gallery">Gallery</a>
</li>
<li>
<a href="#account-reviews">Reviews</a>
</li>
</ul>
</div>
<div class="account-details">
<div id="account-services">
<h1>services</h1>
</div>
<div id="account-about">
<h1>About Us</h1>
</div>
<div id="account-store">
<h1>Store</h1>
</div>
<div id="account-gallery">
<h1>Gallery</h1>
</div>
<div id="account-reviews">
<h1>Reviews</h1>
</div>
</div>
ts 组件:
import { Component, OnInit } from '@angular/core';
import { ActivatedRoute } from '@angular/router';
@Component({
selector: 'app-account-individual',
templateUrl: './account-individual.component.html',
styleUrls: ['./account-individual.component.css']
})
export class AccountIndividualComponent implements OnInit {
private fragment: string;
constructor(private route: ActivatedRoute) {}
ngOnInit() {
this.route.fragment.subscribe(fragment => { this.fragment = fragment; });
}
ngAfterViewInit(): void {
try {
document.querySelector('#' + this.fragment).scrollIntoView();
} catch (e) {
console.log(e);
}
}
}
【问题讨论】:
-
你能控制 this.fragment 吗?
-
@ShaileshLadumor 是的,结果是
href属性值 -
这个问题的解决方案已经回答here。