Jak korzystać z dyrektyw Angulara ng-click i ng-class wewnątrz wyskakującego znacznika ulotki

Używam Angular.JS i Leaflet.JS dla mapy w mojej lokalizacji, która ma przypisane znaczniki map z wyskakującymi oknami. Muszę użyć span z dwoma różnymi ikonami (jedną pokazaną poniżej), które możesz kliknąć, aby wywołać różne funkcje, a z ng-class zmienić klasę, jeśli spełnione są określone warunki. To jest mój kod:

var marker = L.marker([51.5, -0.09], {icon: blueIcon}).bindPopup('<br><span ng-class="thumbsUpClass(' + hotelsSelectedDates[i]['hotels'][s] + ')" ng-click="addChoice(' + hotelsSelectedDates[i]['hotels'][s] + ',' + hotels + ')"><span class="popup-container"><span class="icon-stack thumbs-up-stack"><i class="icon-sign-blank icon-stack-base"></i><i class="icon-thumbs-up"></i></span></span></span>');

Jednak kiedy sprawdzam element, otrzymuję to:

<span ng-class="thumbsUpClass([object Object])" ng-click="addChoice([object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object])"><span class="popup-container"><span class="icon-stack thumbs-up-stack"><i class="icon-sign-blank icon-stack-base"></i><i class="icon-thumbs-up"></i></span></span></span>

Kliknięcie ng-click powinno wysłać tę funkcję zarówno do określonego obiektu, jak i do tablicy obiektów, ale po kliknięciu ikony nic się nie dzieje. W moich badaniach odkryłem, że popup uniemożliwia propagację zdarzeń (więcej informacji ale nie jestem pewien, jak to zmienić lub naprawić, aby działało z kątem. Czy ktoś miałby pomysł, jak to osiągnąć?

AKTUALIZACJA:

Ponieważ ng-click / class ocenia ciąg znaków, naprawiłem zmienne tak, aby wyglądały tak:

$scope.item = hotelsSelectedDates[i]['hotels'][s]
$scope.set = hotels
var marker = L.marker([51.5, -0.09], {icon: blueIcon}).bindPopup('<br><span ng-class="thumbsUpClass(item)" ng-click="addChoice(item,set)"><span class="popup-container"><span class="icon-stack thumbs-up-stack"><i class="icon-sign-blank icon-stack-base"></i><i class="icon-thumbs-up"></i></span></span></span>');

HTML wychodzi poprawnie:

<span ng-class="thumbsUpClass(item)" ng-click="addChoice(item,set)"><span class="popup-container"><span class="icon-stack thumbs-up-stack"><i class="icon-sign-blank icon-stack-base"></i><i class="icon-thumbs-up"></i></span></span></span>

Jednak po kliknięciu ikona nic się nie dzieje i nie wygląda na to, że funkcje są wywoływane. Ktoś ma jakąś wskazówkę, dlaczego tak się stanie?

questionAnswers(6)

yourAnswerToTheQuestion