我在html中有此代码,以在单击该div时触发文件输入。当前,我收到一个未定义文档的错误消息,但是当我添加一个断点并查看文档变量时,我发现在运行此html时它实际上是已定义的。我正在使用角度框架。
<input id="file-input" type="file" name="name" style="display: none;" />
<div class="csvBox" id="csvBox" (click)="document.getElementById('file-input').click();">
答案 0 :(得分:2)
模板只能访问组件属性。 document
不是一个。
此外,切勿将document.getElementById
与Angular一起使用。您可以像这样使用模板变量:
<input #fileInput type="file" name="name" style="display: none;" />
<div class="csvBox" id="csvBox" (click)="fileInput.click()">
答案 1 :(得分:0)
听起来像您需要从angular导入文档。
import { Inject, Injectable } from '@angular/core';
import { DOCUMENT } from '@angular/common';
@Component()
export class MyService {
constructor(@Inject(DOCUMENT) private document: Document) {}
}