Angular ci fornisce un meccanismo per scrivere le direttive - che è estremamente potente in ciò che può fare. Ma la cosa che continuo a chiedermi è - in quale scenario dovresti effettivamente scrivere una tua direttiva personalizzata.Quando scrivere una direttiva?
Continuiamo a vedere le domande dentro e intorno a Stack Overflow con varie persone che tentano di scrivere direttive che (a mio parere) non devono necessariamente essere scritte in primo luogo. Nella maggior parte dei casi possono essere risolti con una combinazione di ripetizione, commutazione e visualizzazione. Vedi esempi di domande contenenti direttive che penso non dovrebbero essere le direttive in primo luogo!
https://stackoverflow.com/questions/16101073/angularjs-directive-is-not-working-in-ie-10
Fire button click in AngularJS
angularjs: using a directive inside the ui-bootstrap modal
Alcuni scenari esempi. Non li sto prendendo in considerazione in ogni caso ... perché sono sicuro che non è chiaro a nessuno quando dovremmo usare/scrivere una direttiva.
Vediamo lo scenario in cui le persone utilizzano le direttive come meccanismo per il template. È questo il modo giusto di fare le cose? O c'è un modo migliore? (ng-include forse?) Ci sono dei lati positivi/negativi nell'usare le direttive come un meccanismo di template? La ragione di questa domanda è che a volte mi chiedo se le persone scrivono direttive perché provengono dal mondo jquery la prima cosa a cui pensano è scrivere DOM manipolando il codice e poiché la modalità Angolare è non manipolare il DOM nei controller, tutto ciò grava sulla scrittura tutto quel codice in una direttiva.
EDIT:
Credo che questa confusione (di spintoni le cose all'interno di una direttiva) deriva dal fatto angolare non ha una nozione separata di una "vista" - a differenza di Backbone (che ha solo una "vista", ma nessun componente!). Le direttive sono sorprendenti nel definire i componenti - Ma penso che se le usi per creare "viste", perderai parte del modo "angolare". Questa è la mia opinione però - ecco perché sto sollecitando ciò che pensa il resto della comunità angolare.
Il bello delle direttive più semplici (direttive che fanno solo 1 cosa!) È che sono assolutamente facili da testare. Se guardi tutte le direttive, tutti fanno 1 cosa e fanno quella cosa abbastanza bene.
Qual è il modo migliore per definire "viste" riutilizzabili (non componenti!) In Angolare? Dovrebbe essere scritto in una direttiva? O c'è un modo migliore?
Sarebbe fantastico se uno degli Angular Dev avesse un'opinione in proposito!
non appena si desidera eseguire la manipolazione DOM è necessario scrivere una direttiva. I controller non dovrebbero avere una sola manipolazione in essi. Ma la direttiva può avere controller al loro interno. I controller della direttiva – mpm
sono per altri motivi. Quei controller e i normali controller sono diversi. – ganaraj