尝试将值分配给自定义类的属性时,我收到undefined
错误。
我定义了一个FileArgument
类:
export class FileArgument {
name: string;
path: string;
file: File;
}
我想在我的组件中使用它来存储有关file
类型输入字段的信息。我的组件如下所示:
export class InputModuleComponent {
private fileArgument: FileArgument;
onChange(event): void {
console.log('input-module.component - onChange()');
this.fileArgument.file = event.originalTarget.files[0];
this.fileArgument.name = event.originalTarget.id;
console.log(this.fileArgument);
}
}
我简化的html
看起来像是:
<input
name="{{arg.name}}"
id="{{ arg.name }}"
type="file"
[(ngModel)]="moduleArguments[arg.name]"
(change)="onChange($event)"
>
触发onChange
方法时,出现以下错误:
Error: Error in http://localhost:3000/app/input/input-module/input-module.component.js class InputModuleComponent - inline template:16:9 caused by: this.fileArgument is undefined
如果我注释掉我尝试将值分配给this.fileArgument.file
和.name
的行,我的应用程序可以正常运行。
编辑:请注意,错误肯定来自于为fileArgument.file/name
分配值。 event.originalTarget.files/id
返回值没有错误。
答案 0 :(得分:1)
您只是指定一种类型。您还需要分配对象的实例:
private fileArgument: FileArgument = new FileArgument();