2013-06-27 14 views
9

Jestem dość nowy w Angular, ale używam go od kilku tygodni i udało mi się rozwiązać większość problemów, z jakimi się zetknąłem. Ten jednak mnie zaskoczył.Dodawanie zdarzenia ng-click w filtrze

Mam aplikację, która ściąga tweety z Twittera - używając filtru kątowego - wyciąga wszystkie adresy URL i stylizuje je jako łącza. Ta część działa dobrze, ale klient zdecydował, że linki z Twittera nie są bezpieczne, więc chcieli, aby ostrzeżenie o wyłączeniu było uruchamiane za każdym kliknięciem łącza. Wystarczająco proste - przejąłem link i zamieniłem href na ng-click="openLink('url')". W tym miejscu wystąpił problem - ng-click nie działa.

Jestem pewien, że problem ma coś wspólnego z $compile() - miałem podobne problemy wcześniej - ale nie mam pojęcia, kiedy i gdzie to nazwać.

Stworzyłem Plunkr, która jest lite wersją tego, o co mi chodzi. Łącze na górze nie jest ładowane dynamicznie i odpala funkcję alertUrl(), ale wszystkie łącza generowane przez filtr kończą się niepowodzeniem.

Prawdopodobnie brakuje mi czegoś naprawdę prostego, ale przez jakiś czas mnie to dręczyło, więc wszelka pomoc zostanie ogromnie doceniona.

Dzięki,
Sam

+0

Czy linki zawsze będą widoczne pod koniec? – callmekatootie

Odpowiedz

15

No masz rację, że html \ treści, które emitują musi zostać skompilowany dla angularjs rozwiązać funkcję alarmu.

Zmieniłem swój plunker i wstrzyknąć dyrektywy kompilacji (od here)

Zobacz go w akcji here

Podstawową ideą jest, aby skompilować zawartość wytwarzanego z paszy twitter dynamicznie.

<p compile="tweet.text | convertLinks"></p> 
+0

Dokładnie tego potrzebowałem, dziękuję za dużo pączków :) –

Powiązane problemy