import { Component, Input, OnChanges } from '@angular/core'; @Component({ selector: 'image-display', templateUrl: './image-display.component.html' }) export class ImageDisplayComponent implements OnChanges { @Input() image: File; @Input() imagePath?: string; private fileReader: FileReader; constructor() { } ngOnChanges() { if (this.image && this.fileReader) { this.fileReader.readAsDataURL(this.image); } } }Al compilar esto con AOT obteniendo el siguiente error:
PRINHYLTPAP0592:matata ajays$ ng build --prod --aot /myApp/src/$$_gendir/app/image-uploader/image-display/image-display.component.ngfactory.ts (61,9): Supplied parameters do not match any signature of call target.AOT lo obliga a informar cada parámetro obligatorio para cada llamada de método.
En su ejemplo, el método ngOnChanges() en realidad debería ser ngOnChanges(changes: SimpleChanges).
proporcione el código del archivo image-display.component.html. podría ser que la variable en la plantilla no esté inicializada en el componente. Verifique todas las variables que usó en la plantilla si existen en ImageDisplayComponent.
Si hay alguna discrepancia entre el método que se llama desde html y la definición del método en el componente, vemos este error.
en su mayoría discrepancias en el número de parámetros pasados al método durante la llamada.
Estaba pasando $event en el método onModelChange, que no está definido en la definición del método.
dropdownChanged(){ console.log("dropdown changed"); } dropdownChangedActual(evnt:any){ console.log("dropdown changed"); } <select [(ngModel)]="myModel" (ngModelChange)="dropdownChanged($event)"> <option>.............</option> </select>Declare $event o cualquier parámetro que pasemos o pase los parámetros como se menciona en la definición del método.