web-dev-qa-db-ja.com

ng-template内の要素への参照を取得します

これは私のテンプレートです:

_<ng-template #template>
    <input #newimg  type="file" class="col-md-10" (change)="fileChange($event)"/>
</ng-template>
_

内部が_#newimg_の場合、_ng-template_への参照を取得できません(_ng-template_をdivに変更すると正常に機能します!)

_@ViewChild('newimg') img: ElementRef; //doesnt work
_

画像をアップロードした後、値を空に設定する必要がありますが、常に未定義です。

7
Veto

<ng-template>はDOMに追加されず、アプリケーションの実行時にJavaScriptコードにのみ存在します。たとえば、*ngFor*ngIfなどの構造ディレクティブを使用してスタンプされた場合にのみ、コンテンツは実際にDOMで作成され、バインディング、コンポーネント、ディレクティブなどがインスタンス化されます。

したがって、スタンプがないと、クエリする#templateはありません。

3