2013-06-27 3 views
9

Я довольно новичок в Angular, но я использовал его в течение последних нескольких недель и мне удалось решить большинство проблем, с которыми я столкнулся. Тем не менее, это меня застопорило.Добавление события ng-click внутри фильтра

У меня есть приложение, которое тянет твиты из Twitter, а затем - используя угловой фильтр - вытаскивает все URL-адреса и стилирует их как ссылки. Эта часть работает нормально, но клиент решил, что ссылки из Twitter не безопасны, поэтому они хотели, чтобы отказ от ответственности срабатывал каждый раз, когда была нажата ссылка. Достаточно просто - я угнал ссылку и поменял href на ng-click="openLink('url')". Здесь возникла проблема - ng-click не работает.

Я уверен, что проблема имеет какое-то отношение к $compile(). Раньше у меня были подобные проблемы, но я понятия не имею, когда и где ее можно назвать.

Я создал Plunkr, который является облегченной версией того, что мне нужно. Ссылка вверху не загружается динамически и срабатывает функция alertUrl(), но все ссылки, сгенерированные фильтром, терпят неудачу.

Возможно, я пропустил что-то очень простое, но это уже давно подслушивало меня, поэтому любая помощь будет широко оценена.

Спасибо,
Сэм

+0

Будут ли ссылки всегда отображаться ближе к концу? – callmekatootie

ответ

15

Ну вы правы, что HTML \ контент, который вы испускаете потребность быть скомпилирован для angularjs разрешить функцию оповещения.

Я изменил свой plunker, и ввести директиву компиляции (от here)

в действии here

Основная идея здесь заключается в компиляции контента, полученный из Твиттера динамически.

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

Это именно то, что мне нужно, спасибо много бутон :) –