角度2のアプリにメインナビゲーションコンポーネントがあり、ナビゲーション内のアイテムがクリックされると、選択されたCSSクラスが選択されたナビゲーションアイテムに適用されます。私のアプリのページの1つに私がぶら下がっているものがあります。そのボタンをクリックすると、ユーザーは別のページに移動し、それに応じてメインナビゲーションを変更したいと思っています。ここでボタンをクリックして角を変えてクリックすると、角2のボタンが表示されます
は、私のコードの一部抜粋です:
nav.component
export class NavComponent {
links: {};
selectedClass: string;
ngOnInit() {
this.links = [
{
title: "Home",
route: "/app/home",
hidden: false
},
{
title: "Add",
route: "/app/add",
hidden: false
}];
}
selectedLink(link: String) {
this.selectedClass = link;
}
nav.html
<ng-container *ngFor="let link of links">
<li *ngIf="!link.hidden" [routerLink]="link.route" [class.selected]="link == selectedClass" (click)="selectedLink(link)" [title]="link.name">
<span>{{link.name}}</span>
</li>
</ng-container>
nav.scss
li {
align-items: center;
background-color: blue;
color: blue;
display: flex;
flex-direction: column;
list-style: none;
position: relative;
text-align: center;
}
.selected {
background-color: white;
color: blue;
}
「selectedClass」機能をトリガーして、選択したナビゲーション項目を別のコンポーネントのボタンクリックからCSSクラスに変更したいとします。
ご協力いただきまして誠にありがとうございます。ありがとう!
reduxをご覧ください。クラス名は中央の場所に保存/変更でき、アプリ内のどこからでもアクセスできます。 – garethb