あなたはそれを行うカスタムディレクティブを追加することができます
import { Directive, ElementRef, Input, HostListener } from "@angular/core";
@Directive({
selector: "[menuClose]"
})
export class CloseMenuDirective {
@Input()
public menu: any;
constructor(private element: ElementRef) { }
@HostListener("click")
private onClick() {
this.menu.classList.remove("show");
}
}
は
import { CloseMenuDirective } from './directives/close-menu.directive';
@NgModule({
declarations: [
...declarations,
CloseMenuDirective
]
})
export class AppModule { }
そして宣言配列であなたのapp.moduleにこれを追加することを忘れないでください。 HTMLでは、メニューへの参照を作成し、リンク要素に渡します。
<div class="page-layout">
<!-- Mark the menu with #menu, thus creating a reference to it -->
<aside class="collapse navbar-toggleable page-menu" id="navbar-header" #menu>
<ul class="nav">
<li class="nav-item">
<a class="nav-link"
[routerLink]="['./somewhere']"
routerLinkActive="active"
menuClose <!-- Our custom directive above -->
[menu]="menu"> <!-- Bind to menu -->
<span>My Link</span>
</a>
</li>
</ul>
</aside>
</div>
は、それが動作しませんどのように – amirsa00
私のために動作しませんか?助けに興味がある場合は、詳細を指定する必要があります。間違いはありますか? – Patrick
私はbootstap 3.3.7を使用していて、navbarの 'show'クラスはありません。それは 'in'です – amirsa00