Добавление события ng-click внутри фильтра

Я новичок в Angular, но я использовал его последние несколько недель и мне удалось решить большинство проблем, с которыми я столкнулся. Однако этот меня поставил в тупик.

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

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

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

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

Спасибо,
Сэм


person Sam Beckham    schedule 27.06.2013    source источник
comment
Ссылки всегда будут отображаться ближе к концу?   -  person callmekatootie    schedule 27.06.2013


Ответы (1)


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

Я изменил ваш плункер и ввел директиву компиляции (из здесь)

Посмотрите его в действии здесь

Основная идея здесь состоит в том, чтобы динамически компилировать контент, созданный из твиттер-канала.

<p compile="tweet.text | convertLinks"></p>
person Chandermani    schedule 27.06.2013
comment
Ссылка на директиву больше не существует. - person Roee Gavirel; 20.01.2019