11

这是我的模板:

<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

上传图片后,我需要将其值设置为空,但始终未定义。

4

2 回答 2

4

<ng-template>没有添加到 DOM,它只存在于 JavaScript 代码中,当应用程序运行时。仅当使用诸如*ngForor*ngIf之类的结构指令对其进行标记时,才会在 DOM 中实际创建内容,并实例化绑定、组件、指令……。

因此,没有盖章,就没有任何#template查询。

于 2017-11-22T07:55:03.550 回答
0

使用 ContentChild 而不是 ViewChild,因为您的模板引用在投影内容 (ngtemplate) 中

@ContentChild('newimg') img: ElementRef;
于 2021-08-27T04:51:28.787 回答