Передача параметра по клику, в al oop используется angular8 - PullRequest
2 голосов
/ 08 января 2020

У меня есть массив объектов. я повторяю это в l oop и передаю имя каждого элемента в onclick , который нацелен на функцию openIt(val) в app.js файле, который находится в папке активов. ie

Angular Код:

<div *ngFor="let item of listArray">
<button class="tabopen" onclick="openIt(item.name)">{{item.name}}</button>
</div>

приложение. js Код:

function openIt(data) {
console.log(data);
}

В моей функции openIt in файл приложения. js Я не получаю item.name . В моей консоли отображается ошибка, что элемент не определен . Но когда я передаю данные stati c, то есть onclick="openIt('sample_data')", это не показывает никакой ошибки.

Несмотря на то, что item.name также существует, я получаю правильные значения и против этого. Я не понимаю, почему я не могу передать итеративные данные в параметры.

Ответы [ 2 ]

2 голосов
/ 08 января 2020

Если вы используете Angular, тогда вам следует go с (click), потому что, когда вы объявляете обработчик события, вам необходимо окружить DOM имя события в parentheses и присвойте ему шаблон оператора .

<button class="tabopen" (click)="openIt(item.name)">{{item.name}}</button>
0 голосов
/ 08 января 2020

привязка события: вариант 1 on-click = "функция", версия 2 (щелчок) = "функция"

<div *ngFor="let item of listArray">
<button class="tabopen" on-click="openIt(item.name)">{{item.name}}</button>
</div>

<div *ngFor="let item of listArray">
<button class="tabopen" (click)="openIt(item.name)">{{item.name}}</button>
</div>
...