Saya ada di komponen saya, EventEmitter
tetapi saya tidak dapat mengkompilasinya karena mengembalikan kesalahan:
Supplied parameters do not match any signature of call target
Komponen saya:
@Output() addModel = new EventEmitter<any>();
saveModel($event, make, name) {
this.addModel.emit(make, name);
}
Jika saya menghapus salah satu parameter di this.addModel.emit()
dalamnya, tetapi demikian: Dapatkah saya meneruskan 2 parameter ke saya eventEmitter
dan bagaimana?
Saya mencoba juga dengan:
@Output() addModel = new EventEmitter<any,any>();
tapi itu tidak berhasil.
angular
eventemitter
LorenzoBerti
sumber
sumber
EventEmitter
objek ..Opsi lain untuk mengetik dengan kuat adalah sebagai berikut:
@Output addModel = new EventEmitter<{make: string, name: string}>();
Anda kemudian dapat memancarkannya seperti acara @ Pankaj-Parkar
this.addModel.emit({make, name});
atau
this.addModel.emit({make: 'honda', name: 'civic'});
Anda sekarang memiliki pengetikan yang kuat daripada menggunakan
object
atauany
.sumber
Saya memperbaikinya dengan membuat
Kemudian saya bisa melewati sebuah benda seperti:
Dan itu berhasil.
sumber
publish(event, value)
&subscribe(e, value) {...}
. Saya sedikit terkejut bahwa Angular mendefinisikan antarmuka mereka / menerapkan ini seperti yang mereka lakukan.new EventEmitter<{name: string, age: number}>();
Saya tahu ini adalah Pertanyaan lama bagi saya. Saya akan membuat antarmuka dan mengirimkannya sebagai objek tempat saya dapat mengatur kode saya
dan menyebutnya sebagai berikut
sumber