[解決済み] angular 2でクラスを条件付きでトグルする。
2022-02-24 01:53:41
質問
app-header コンポーネントのボタンがクリックされるたびに、app-component のクラス "active" をトグルさせる必要があります。 以下は、私のapp-component.htmlです。
<div class="off-canvas">
<app-header><app-header>
<app-home></app-home>
<app-footer></app-footer>
</div>
app-header.html
<div>
<!--Some code-->
<button></button>
</div>
divとボタンが2つの異なるコンポーネントにあるので、angularだけでこれを行うにはどうしたらよいでしょうか?angularに慣れていない私を助けてください!
解決方法は?
を使用することができます。 イベントエミッター .
app-header.html
<div>
<!--Some code-->
<button (click)="emitClick()"></button>
</div>
app-header.ts
@Output() _clickEvent:EventEmitter<any>=new EventEmitter();
constructor(){
}
ngOnInit(){
}
emitClick($event){
this.clickEvent.emit()
}
app-component.html
<div class="off-canvas" [ngClass]="{'someClassName':active}">
<app-header (_clickEvent)="toggleActive($event)"><app-header>
<app-home></app-home>
<app-footer></app-footer>
</div>
app-component.ts
active:boolean=false;
constructor(){
}
ngOnInit(){
}
toggleActive($event){
// Insert click event handling here
}
app-component.ts で active 変数を宣言し、Boolean に初期化する必要があります。クリックするたびに、activeはtrueとfalseの間で切り替わります。 someClassName'という名前のクラスが ngClass 変数'active'がtrueになるたびに、'active'の値を変更します。
関連
-
[解決済み】html文書に縦の空白を挿入するには?
-
js プログラミング共通のエラーです。Uncaught TypeError。XXXは関数ソリューションではありません
-
[解決済み] CSSでulのインデントを削除する
-
[解決済み] iFrameがURLを読み込んでいない
-
[解決済み] フォームの中にフォームがある、でいいのかな?[重複]
-
[解決済み] Font Awesome アイコンをプレースホルダーで使用する
-
[解決済み] JavaScriptで要素のクラスを変更するにはどうすればよいですか?
-
[解決済み] Angular HTMLバインディング
-
[解決済み] Angular:*ngClassを使った条件付きクラス
-
[解決済み】ユーザークリックで選択されたコンポーネントを含むダイナミックタブ
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】フッターをページの下部に中央に配置するにはどうすればよいですか?
-
[解決済み] このCSSでInline-blockが正しく動作しないのはなぜですか?
-
[解決済み] Bootstrapのカラムが機能しない
-
[解決済み] ボディの背景色が表示されない?
-
[解決済み] CSS - display: none; が機能しない
-
[解決済み] div に斜めのエッジを作成する [重複] 。
-
[解決済み] IFrameからボーダーを取り除く
-
[解決済み] :last-child が期待通りに動作しない?
-
[解決済み] フォームの中にフォームがある、でいいのかな?[重複]
-
[解決済み] HTMLのバックスペース