Итак, я использую библиотеку angular2-swing, и в моем шаблоне есть следующий код:
<ul class = "stack" swing-stack [stackConfig] = "stackConfig" #myswing1 (throwout) = "onThrowOut($event)">
<li swing-card #restaurantCards [ngClass] = "restaurant.restaurant" *ngFor = "let restaurant of restaurants">
<app-restaurant-card [restaurant]=restaurant.restaurant>
</app-restaurant-card>
<div class = "overlay">
YUM!
</div>
</li>
</ul>
Вот метод onThrowOut($event):
onThrowOut(event: ThrowEvent) {
if (event.throwDirection == Direction.RIGHT){
this.restaurantService.addToLikes(event.target.getAttribute('ngClass'))
}
//make element hidden once thrown out
event.target.setAttribute("style", "visibility: hidden; transition: .1s; ");
}
Однако, когда я пытаюсь получить атрибут, он равен нулю. Есть ли способ получить элемент из цикла for? Спасибо
@ Дэвид Мёллер, ты имеешь в виду, тебе нужно получить <li>?
пожалуйста, не используйте оба тега angularjs и угловатый, если ваш проект действительно не является проектом с несколькими фреймворками. Это не одни и те же рамки.
@manikantgautam Я хочу получить элемент как объект, и когда я пытаюсь, чтобы возвращаемые данные были строкой
В поисках документации я не могу найти в Интернете ссылку на библиотеку "angular2-swipe" ... Возможно, это "angular2-swipeр", и в этом случае библиотека больше не поддерживается?
@HereticMonkey мой плохой, его angular2-swing; исправлю это и проверим документы



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


К ngClass можно получить доступ к class в DOM. Измените свой код как (используйте event.target.getAttribute('class')):
onThrowOut(event: ThrowEvent) {
if (event.throwDirection == Direction.RIGHT){
this.restaurantService.addToLikes(event.target.getAttribute('class'));
}
...
}
Также обратите внимание, что теперь id будет string, поэтому может потребоваться преобразовать их как number.
используйте
classвместоngClassв getAttributes