我在页脚中有一个链接到了条款页面,但我希望该链接转到术语网页的特定部分(术语第3段)。
以下是footer.component.html
<a routerLink="terms">Terms & conditions</a> |
<a routerLink="terms">Privacy policy</a> |
<a routerLink="terms">Cancellation policy</a>
在terms.component.html
中,我希望在点击时打开页脚中的隐私政策链接。
<ol start="3">
<li>INFORMATION SUBMITTED THROUGH OR TO OUR SERVICES</li>
</ol>
我们需要使用什么才能使这些工作?任何帮助表示赞赏。感谢。
答案 0 :(得分:4)
以下是答案,
和<a routerLink="terms">Terms & conditions</a> | <a routerLink="terms">Privacy policy</a> | <a routerLink="terms">Cancellation policy</a>
而不仅仅是使用。 <a routerLink="terms">Terms & conditions</a>
像这样使用
<a [routerLink]="['/terms']" fragment="terms"> Terms & conditions </a>
<a [routerLink]="['/terms']" fragment="cancel"> Cancellation policy </a>
<a [routerLink]="['/terms']" fragment="privacy"> Privacy policy </a>
页面应该像
<ol start="3" id="privacy" >
<li>INFORMATION SUBMITTED THROUGH OR TO OUR SERVICES</li>
</ol>
<ol start="3" id="terms" >
<li>INFORMATION SUBMITTED THROUGH OR TO OUR SERVICES</li>
</ol>
<ol start="3" id="cancel" >
<li>INFORMATION SUBMITTED THROUGH OR TO OUR SERVICES</li>
</ol>
有关详细说明和用法,请参阅API。 - https://angular.io/api/router/RouterLink
答案 1 :(得分:2)
要添加到@Rahul VV&#39的答案,我已经使用下面的事件scrollIntoView编辑了组件
footer.component.ts
import { Router, NavigationEnd } from '@angular/router';
constructor(router: Router) {
router.events.subscribe(s => {
if (s instanceof NavigationEnd) {
const tree = router.parseUrl(router.url);
if (tree.fragment) {
const element = document.querySelector("#" + tree.fragment);
if (element) { element.scrollIntoView(); }
}
}
});
}