В моем проекте я сделал это в одном компоненте, например:
import { Component, EventEmitter, Output } from '@angular/core';
@Component({
selector: 'app-image-uploader',
template: '<input type="file" (change)="onUploadFileChanged($event)" />',
})
export class ImageUploaderComponent implements OnInit {
@Output() uploadStatusChange = new EventEmitter<any>();
onUploadFileChanged(event) {
this.targetElement = event.target;
if (event.target.files && event.target.files[0]) {
component.uploadStatusChange.emit('ready');
}
}
}
Теперь, после того, как выбранный файл, компоненту сообщат родительскому компоненту, что я готов, тогда вы можете установить из ControlCatch patch для него значение true. HTML-код родительского компонента, например, для приведенного выше примера строка $ event равна «ready»:
<app-image-uploader (uploadStatusChange)="yourFunction($event)"></app-image-uploader>
Для изображения, вы также можете использовать FileReader показать его перед загрузкой.