1. ホーム
  2. javascript

[解決済み] Angular2におけるViewChildとは?

2022-03-05 20:52:02

質問

公式より ドキュメント . A ViewChild :

Configures a view query.

View queries are set before the ngAfterViewInit callback is called.

説明が非常に少なく、何に使うのかがまだよくわからない。

これを検討する を見つけたブログから。

を取り除くと @ViewChild(TodoInputCmp) の中のコードには何の影響も及ぼしません。 TodoInputCmp

どなたか、ご教示ください。

ありがとうございます

解決方法は?

ビュー内の要素やコンポーネントへの参照を提供します。

@Component({
  ...
  directives: [SomeComponent],
  template: `
  <div><span #myVar>xxx</span><div>
  <some-comp></some-comp>`
})
class MyComponent {
  @ViewChild('myVar') myVar:ElementRef;
  @ViewChild(SomeComponent) someComponent:SomeComponent;
  
  ngAfterViewInit() {
    console.log(this.myVar.nativeElement.innerHTML);
    console.log(this.someComponent);
  }
}

重要です。 の前に変数が初期化されていない。 ngAfterViewInit()