我有一页,包含部分和固定菜单。
当用户单击菜单项时,页面将滚动到相应的部分。

对于滚动,我使用https://github.com/Nolanus/ng2-page-scroll

如何在单击时以及用户滚动到新部分时向菜单项添加“活动”类?

编辑:
进度-单击时添加“活动”类:
我的html:

<ul class="nav nav-menu">
    <li class="" [class.active]="activeLink == 'item1'" (click)="setActiveLink('item1')">
        <a pageScroll href="#item1">item 1</a>
    </li>
</ul>


在我的组件中:

private activeLink: string = 'default-active-link';

setActiveLink(link: string){
   this.activeLink = link;
}


但是如何使它在滚动状态下也能正常工作?

最佳答案

根据官方文件

当链接的路由变为活动状态时,可以使用RouterLinkActive指令将CSS类添加到元素。

<a routerLink="/user/bob" routerLinkActive="active-link">Bob</a>
When the url is either '/user' or '/user/bob', the active-link class will be added to the a tag. If the url changes, the class will be removed.


您可以设置多个类,如下所示:

<a routerLink="/user/bob" routerLinkActive="class1 class2">Bob</a>
<a routerLink="/user/bob" [routerLinkActive]="['class1', 'class2']">Bob</a>


您可以通过传递精确值:true来配置RouterLinkActive。仅当url与链接完全匹配时,才添加类。

<a routerLink="/user/bob" routerLinkActive="active-link" [routerLinkActiveOptions]="{exact:
true}">Bob</a>

关于jquery - 如何添加“事件”类以与Angular 2链接,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42373065/

10-09 09:13
查看更多