2013-06-27 2 views
9

Sono abbastanza nuovo per Angular ma l'ho usato nelle ultime settimane e sono riuscito a risolvere gran parte dei problemi che ho riscontrato. Questo però mi ha lasciato perplesso.Aggiunta di un evento ng-clic all'interno di un filtro

Ho un'app che attira i tweet da Twitter quindi - utilizzando un filtro angolare - estrae tutti gli URL e li disegna come collegamenti. Questa parte funziona bene ma il cliente ha deciso che i collegamenti da Twitter non erano sicuri, quindi volevano che una dichiarazione di non responsabilità si attivasse ogni volta che veniva fatto clic su un collegamento. Abbastanza semplice: ho interrotto il collegamento e scambiato lo href per un ng-click="openLink('url')". È qui che si è verificato il problema: lo ng-click non funziona.

Sono abbastanza sicuro che il problema abbia a che fare con $compile() - Ho avuto problemi simili prima - ma non ho idea di quando o dove chiamarlo.

Ho creato un Plunkr che è una versione lite di quello che sto cercando. Il collegamento in alto non viene caricato in modo dinamico e attiva la funzione alertUrl(), ma tutti i link generati dal filtro falliscono.

Probabilmente mi manca qualcosa di veramente semplice, ma mi ha infastidito un po 'ora, quindi ogni aiuto sarà enormemente apprezzato.

Grazie,
Sam

+0

I collegamenti verranno sempre visualizzati verso la fine? – callmekatootie

risposta

15

Ebbene si sono corretti che il codice HTML \ contenuto che si emettono deve essere compilato per angularjs per risolvere la funzione di allarme.

ho cambiato la tua plunker, e iniettare una direttiva di compilazione (da here)

vederlo in azione here

L'idea di base è quella di compilare il contenuto prodotto dal feed Twitter in modo dinamico.

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

Questo è esattamente quello di cui avevo bisogno, grazie mille germogli :) –