[解決済み] Angular 2のonInitで@Inputプロパティが未定義である。
2023-07-09 12:45:50
質問
コンポーネントの
@Input
の値を
constructor
または
ngOnInit
. しかし、これは
undefined
となっています。
でヒーロープランカーを更新しました。
console.log
で問題を表示するようにしました(ベータ版angular)。
http://plnkr.co/edit/dseNM7OTFi1VNG2Z4Oj5?p=preview
export class HeroDetailComponent implements OnInit {
constructor(){
console.log('hero', this.hero)
}
public hero: Hero;
ngOnInit() {
console.log('hero', this.hero)
}
}
私はここで何を間違えているのでしょうか?
どのように解決するのですか?
で未定義になる原因は
ngOnInit
で未定義となるのは、コンポーネントが初期化される時点で、実際には
Hero
オブジェクトを渡していないからです。
<my-hero-detail [hero]="selectedHero"></my-hero-detail>
この時点で
selectedHero
には何の価値もありません。
AppComponent
に値がなく、リストのクリックイベントによって
onSelect
メソッドを呼び出すまでです。
編集します。
申し訳ありませんが、私は実際に修正を提供していないことに気づきました。もし、あなたが
ngIf
に
my-hero-detail
<my-hero-detail *ngIf="selectedHero" [hero]="selectedHero"></my-hero-detail>
の初期化を遅らせる必要があります。
my-hero-detail
コンポーネントの初期化が遅延し、コンソール出力が表示されるはずです。これは
ウォント
が出力されますが、選択されたヒーローが変更されると再び出力されます。
関連
-
[解決済み] ngModel' は 'input' の既知のプロパティではないため、バインドできません。
-
[解決済み] Angular HTMLバインディング
-
[解決済み] Angular 2:'ngModel'が'input'の既知のプロパティではないため、バインドできない。
-
[解決済み] 角度2 ngfor 最初、最後、インデックスループ
-
[解決済み] AngularでEventEmitterに2つのパラメータを渡すには?
-
[解決済み] Angular v5からAngular v6にプロジェクトをアップグレードしたい。
-
[解決済み] FormGroupとFormArrayの使い分けは?
-
[解決済み] プロパティ 'controls' がタイプ 'AbstractControl' に存在しない Angular 4 [duplicate] 。
-
[解決済み] angular keyvalue pipe sort properties / iterate in order (アンギュラーキーバリューパイプソートプロパティ / イテレートオーダー)
-
[解決済み] Angular - ngForの中のngIfの中のパラメータを持つng-template [重複]。
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Angular 2のFormGroupからすべての検証エラーを取得する
-
[解決済み] 継承と依存性注入
-
[解決済み] .tsファイルはTypeScriptのコンパイルの一部ですが、使用されていませんという警告を消すには?
-
[解決済み] Angular 2で入力タグのファイルタイプで選択されたファイルをリセットする方法は?
-
[解決済み] ExpressionChangedAfterItHasBeenCheckedError: チェックされた後に、式が変更されました。以前の値: 'undefined'
-
[解決済み] Typescript におけるインターフェースとクラスの違い
-
[解決済み] の@ViewChildのreadパラメータは何ですか?
-
[解決済み] Angular 4.3 - HttpClient set params
-
[解決済み] Angular - ngForの中のngIfの中のパラメータを持つng-template [重複]。
-
[解決済み] ActivatedRoute(paramsなど)のobservableの購読を解除しなければならないのでしょうか?