Angular bietet uns einen Mechanismus zum Schreiben von Direktiven - was äußerst wirkungsvoll ist. Aber die Sache, die ich mich frage, ist - in welchem Szenario solltest du eigentlich eine eigene benutzerdefinierte Direktive schreiben?Wann soll ich eine Direktive schreiben?
Wir sehen immer wieder Fragen in und um Stack Overflow mit verschiedenen Leuten, die versuchen, Direktiven zu schreiben, die (meiner Meinung nach) nicht geschrieben werden müssen. In den meisten Fällen können sie mit einer Kombination aus Wiederholen, Wechseln und Zeigen gelöst werden. Sehen Sie Beispiele für Fragen, die Richtlinien enthalten, die meiner Meinung nach keine Richtlinien sein sollten!
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
Einige Szenarien Beispiele. Ich nehme sie nicht auf ... weil ich sicher bin, dass niemandem klar ist, wann wir eine Richtlinie verwenden/schreiben sollten.
Wir sehen Szenarien, wo Menschen Richtlinien als Mechanismus für Templating verwenden. Ist das der richtige Weg, Dinge zu tun? Oder gibt es einen besseren Weg? (ng-include vielleicht?) Gibt es irgendwelche Vor- und Nachteile bei der Verwendung von Richtlinien als Templating-Mechanismus? Der Grund für diese Frage ist, dass ich mich manchmal frage, ob Leute Direktiven schreiben, weil sie aus der JQuery-Welt das erste Ding sind, das ihnen einfällt, DOM-Manipulationscode zu schreiben und da der Angular-Weg nicht das DOM in Controllern manipuliert, geht alles zum Schreiben all dieser Code in einer Direktive.
EDIT:
ich diese Verwirrung glauben (der Dinge in einer Richtlinie schiebend) entsteht, weil Angular kein separates Konzept einer „Ansicht“ haben - anders als Backbone (die nur einen „Blick“ hat aber keine Komponente!). Direktiven sind erstaunlich bei der Definition von Komponenten - Aber ich denke, wenn Sie sie verwenden, um "Ansichten" zu erstellen, werden Sie etwas von der "eckigen" Art und Weise verlieren. Dies ist jedoch meine Meinung, weshalb ich mich erbitte, was der Rest der eckigen Gemeinschaft denkt.
Das Gute an einfacheren Anweisungen (Anweisungen, die nur eine Sache machen!) Ist, dass sie absolut einfach zu testen sind. Wenn Sie sich alle ng-Anweisungen anschauen, machen sie alle eine Sache und tun das ziemlich gut.
Was ist der beste Weg, um wiederverwendbare "Ansichten" (keine Komponenten!) In Angular zu definieren? Sollte das in einer Richtlinie geschrieben werden? Oder gibt es einen besseren Weg?
Es wäre toll, wenn einer der Angular Devs eine Meinung dazu hätte!
Sobald Sie DOM-Manipulation machen wollen, müssen Sie eine Direktive schreiben. Controller sollten keine einzige Manipulation in ihnen haben. Aber die Direktive kann Controller in sich haben. – mpm
Directive Controller sind aus anderen Gründen. Diese Controller und die normalen Controller sind unterschiedlich. – ganaraj