と私のプロジェクトでは、NGX-ブートストラップのドロップダウンコンポーネントを取得コンポーネント内のコンポーネントに@ViewChild使用。リストボックスがngxドロップダウン内にあるように、これらのコンポーネントをプロジェクトで使用しました。未定義値
<!--this is a ngx dropdown-->
<ul *dropdownMenu class="dropdown-menu" role="menu" >
<div class="well well-dropdown">Customize Grid</div>
<!-- this is a primeng listbox -->
<p-listbox #listbox [options]="persons" [filter]="false" [(ngModel)]="selectedPerson" [multiple]="true" [checkbox]="true" [metaKeySelection]="false" [style]="{'max-height':'150px'}">
</p-listbox>
</ul>
テンプレート(#listbox)に変数を作成しました。私はtsでアクセスできます。だから私は@ViewChildを実行しようとしていましたが。私はいつも未定義になっています。私はすでにNgAfterViewInitで、まだViewChildには未定義値を取得し、それを慰める
export class MyComponent implements OnInit, AfterViewInit{
@ViewChild('listbox') mylist: Listbox;
ngOnInit(){
console.log(this.mylist); // ==> getting undefined value
}
ngAfterViewInit(){
console.log(this.mylist); // ==> still getting undefined value
}
}
をメモします。テストの目的のために
は、私は、NGXのドロップダウンの外にprimengのリストボックスを移動しようと、それは価値があります。 ngxdropdownの中にリストボックスを置くと、viewChildは定義されません。私のアプリケーションのニーズに関しては、実際にngxの中にリストボックスを配置する必要があります。
あなたのリストボックスには、私は私がviewchild使用してアクセスできるのと同じ方法のTSであることにアクセスするにはどうすればよいEmbeddedView – yurzui
の内側に位置していますか? – ilovejavaAJ
valueChangesまたはセッターhttps://stackoverflow.com/questions/46251282/angular-viewchild-fileinput-annotation-is-undefined/46251375#46251375 – yurzui