[解決済み] Angular2 コンポーネント @Input 2ウェイバインディング
2023-07-16 07:03:40
質問
データ駆動型のAngularアプリケーションを持っています。 私はトグルコンポーネントを持っており、トグル状態を渡します。 私の問題は、オブジェクトとしてtoggleブーリアンを渡さない限り、2つのデータバインディングが動作しないように見えることです。 これを動作させる方法はありますか? EventEmitterを使用せず、オブジェクトとして変数を渡すことなく、これが動作するようにする方法はありますか? . これは再利用可能なコンポーネントであり、アプリケーションは大きくデータ駆動であるため、オブジェクトとして値を渡すことはオプションではありません。 私のコードは....
toggle.html
<input type="checkbox" [(ngModel)]="toggled" [id]="toggleId" name="check"/>
toggle.component.ts
import { Component, Input, EventEmitter, Output } from '@angular/core';
@Component({
moduleId: module.id,
selector: 'toggle-switch',
templateUrl: 'toggle-switch.component.html',
styleUrls: ['toggle-switch.component.css']
})
export class ToggleSwitchComponent {
@Input() toggleId: string;
@Input() toggled: boolean;
}
親コンポーネント.html
<toggle-switch toggleId="toggle-1" [(toggled)]="nongenericObject.toggled"></toggle-switch>
どのように解決するのですか?
以下のような場合
[(toggled)]="..."
を動作させるには
@Input() toggled: boolean;
@Output() toggledChange: EventEmitter<boolean> = new EventEmitter<boolean>();
changeValue() {
this.toggled = !(this.toggled);
this.toggledChange.emit(this.toggled);
}
参照 双方向バインディング
[UPDATE】~2019年6月25日
以下、@Mitchさんのコメントより。
注目すべきは
@Output
と同じ名前でなければなりません。
@Input
の名前と同じでなければなりませんが
Change
を末尾につけてください。呼び出すことができません。
onToggle
などとすることはできません。構文上の決まりなんです。
関連
-
[解決済み] AngularJSでデータバインディングはどのように機能するのですか?
-
[解決済み] ngModel' は 'input' の既知のプロパティではないため、バインドできません。
-
[解決済み] Angular HTMLバインディング
-
[解決済み] コンポーネントテンプレートで要素を選択するには?
-
[解決済み】'formControl'は'input'の既知のプロパティではないのでバインドできない - Angular2 Material Autocomplete問題
-
[解決済み】Angular 2 チェックボックスの双方向データバインディング
-
[解決済み] angular-cliのビルドでカスタムファイルをインクルードするには?
-
[解決済み] FormGroupとFormArrayの使い分けは?
-
[解決済み] ExpressionChangedAfterItHasBeenCheckedError: チェックされた後に、式が変更されました。以前の値: 'undefined'
-
[解決済み] angularで1つの要素に複数のテンプレートバインディングを適用する方法 [重複].
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] タイプスクリプト タイプ X はタイプ Y の length、pop、push、concat、その他 26 のプロパティが欠落しています。[2740]
-
[解決済み] Angular v5からAngular v6にプロジェクトをアップグレードしたい。
-
[解決済み] Error: モジュールによってインポートされた予期しない値 'undefined'。
-
[解決済み] FormGroupから単一の値を取得する方法
-
[解決済み] 子ルートから親ルートに移動するにはどうしたらいいですか?
-
[解決済み] Angular 2で送信後にフォームをクリアするには?
-
[解決済み] 角度の2つのスイッチケース値
-
[解決済み] ng-forOf」は既知のネイティブプロパティではないため、バインドできない [重複] 。
-
[解決済み] Angular Material 2 ネストされたオブジェクトによるデータテーブルのソート
-
[解決済み] Angular 2+でspec.tsファイルなしでComponentを生成する。