Почему аргумент String события заменяется mouseEvent? - PullRequest
0 голосов
/ 13 февраля 2019

Я пытаюсь отправить изображение src от дочернего элемента к родителю через emmiter событий, я получил его, но сразу же строка заменяется объектом mouseEvent.Почему это происходит, что я могу сделать, чтобы это произошло?Спасибо!

Угловой 5

html-parent:

<!-- language: HTML -->

<vcard-event name="Expo" place="Hotel California" 
(click)='viewImage($event);$event.preventDefault(); 
$event.stopPropagation();'></vcard-event>



ts-parent:
<!-- language: TypeScript -->

viewImage(src: String){
    this.srcImage = src;
    this.isOpen = !this.isOpen;
    console.log("SRC: ",this.srcImage);
} 

Возвращает:

SRC: ../../assets/imgs/journey.png

но затем я получаю:

$ event.preventDefault не является функцией ...

инаконец:

SRC: MouseEvent {isTrusted ...} event.prevent ... не является функцией

Этого не произойдет, если я удалю "; $event.preventDefault (); $ event.stopPropagation (); ",

Но две другие строки все еще остаются там.

html-child:

<!-- language: HTML -->
<button  class="bigButton" (click)="viewImage()"> View Image</button>

ts- ребенок:

<!-- language: TypeScript -->
@Output() click: EventEmitter<string> = new EventEmitter<string>();

viewImage(){
    this.click.emit("../../assets/imgs/journey.png");
} 

Должен отображаться:

SRC: ../../assets/imgs/journey.png

иостановитесь на этом, не заменяйте его объектом MouseEvent.

1 Ответ

0 голосов
/ 13 февраля 2019

щелчок - это уже определенный вывод в угловых единицах, вам следует изменить имя вашего EventEmitter на другое.

@Output() imageClick: EventEmitter<string> = new EventEmitter<string>();

 viewImage(){
   this.imageClick.emit("../../assets/imgs/journey.png");
 } 
...