Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 角度2读取输入文件_Javascript_Angular - Fatal编程技术网

Javascript 角度2读取输入文件

Javascript 角度2读取输入文件,javascript,angular,Javascript,Angular,我试图了解如何使用输入文件与Angular 2。在下面的示例中,我希望我的控制台记录我上传的文件的名称。不幸的是,此代码发送错误无法读取未定义的属性“target” Mycomponent.html <input id="imageUpload" type="file" (change)="imageRun(input)"/> 我不确定是否有一个角度特定的解决方案来解决这个问题,因为我在使用纯javascript进行此操作时遇到了相同的问题。我看过一些简单的

我试图了解如何使用输入文件与Angular 2。在下面的示例中,我希望我的控制台记录我上传的文件的名称。不幸的是,此代码发送错误
无法读取未定义的属性“target”

Mycomponent.html

<input 
   id="imageUpload" 
   type="file" 
   (change)="imageRun(input)"/>
我不确定是否有一个角度特定的解决方案来解决这个问题,因为我在使用纯javascript进行此操作时遇到了相同的问题。我看过一些简单的JS教程,它们都让我在JS中使用
addEventListener
方法,而不是在HTML中指定这些触发器。但据我所知,这些方法并不真正适用于Angular 2项目


作为参考,这里介绍了在普通JavaScript中执行几乎相同的操作,并在src脚本中使用addEventListener

您可以在inbit file元素上定义本地模板变量,并在组件中使用它

<Input #myInput
   id="imageUpload" 
   type="file" 
   (change)="imageRun(myInput)"/>

imageRun(input){
    var file = myInput.files[0];
    console.log(file.name);
}

imageRun(输入){
var file=myInput.files[0];
console.log(文件名);
}

执行第一个操作会导致
无法读取未定义的属性“srcement”
。我们将研究第二个问题。
<Input #myInput
   id="imageUpload" 
   type="file" 
   (change)="imageRun(myInput)"/>

imageRun(input){
    var file = myInput.files[0];
    console.log(file.name);
}