Ich habe eine App, wo ich die PhotoEditorSDK Komponente verwenden möchte. Their demos for angular implementation heißt es, dass sie mich wollen, dass dieseHören Sie auf Ereignisse von PhotoEditorSDK in Angular
@Component({
selector: 'app-photo-editor',
template: `<ngui-react [reactComponent]="reactComponent" [reactProps]="reactProps"></ngui-react>`,
styleUrls: ['./photo-editor.component.scss']
})
export class PhotoEditorComponent implements OnInit {
@Input() src: string;
image = new Image();
defaultProps = {
license: license,
assets: {
baseUrl: '/assets/photoeditorsdk' // see angular-cli.json for configuraton
},
responsive: true,
style:{
width: '100%',
height: '100%'
},
editor: {
image: this.image
}
};
reactComponent: React.Component = PhotoEditorDesktopUI.ReactComponent;
reactProps: any = {...this.defaultProps};
constructor(private el: ElementRef, private translate: TranslateService) { }
ngOnInit() {
this.image.src = this.src;
}
}
Dies funktioniert gut mit einzurichten. Ich erhalte die gerenderte React-Komponente in meiner Angular-App. Jetzt möchte ich einen Ereignis-Listener für das gerenderte Objekt registrieren. Their documentation Zustand, dass sie zumindest ein export
Ereignis ausgesetzt:
editor.on('export', (result) => {
console.log('User clicked export, resulting image/dataurl:', result)
})
Aber ich erzeuge nicht die editor
mich. Dieses Objekt wird erstellt, indem der Komponententyp an ngui-react
übertragen und innerhalb dieser Anweisung erstellt wird. Wie erhalte ich das erstellte PhotoEditorSDK-Objekt, damit ich Event-Listener darauf platzieren kann?
Ich habe versucht, auf
this.reactComponent.on(....)
Aber PhotoEditorDesktopUI !== this.reactComponent
die Ereignis-Listener zu setzen. Die reactComponent
ist ein Container für das erstellte Objekt PhotoEditorDesktopUI
.