これは私のテンプレートです:
_<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
_
画像をアップロードした後、値を空に設定する必要がありますが、常に未定義です。
<ng-template>
はDOMに追加されず、アプリケーションの実行時にJavaScriptコードにのみ存在します。たとえば、*ngFor
や*ngIf
などの構造ディレクティブを使用してスタンプされた場合にのみ、コンテンツは実際にDOMで作成され、バインディング、コンポーネント、ディレクティブなどがインスタンス化されます。
したがって、スタンプがないと、クエリする#template
はありません。