Ich arbeite an einem Projekt, das Fässer verwendet, um Komponenten, Dienstleistungen usw. zu importieren und zu exportieren. Ich verstehe das Konzept und die Verwendung, obwohl es einen Artikel auf Reddit stieß, wo vorgeschlagen wurde, Barrel wurden mit der Einführung von eckigen Modulen ersetzt . Ich verstehe beide Konzepte, aber möglicherweise nicht im Detail, die unterschiedliche Anwendungsfälle für jeden hervorheben würde.Haben eckige Module den Bedarf an Fässern reduziert?
Antwort
Ich habe eine Antwort auf meine Frage gefunden, nachdem ich die Angular-Dokumentation und die eckigen Modulfunktionen durchforstet habe.
Fässer werden im Angular-Glossar erklärt, aber es heißt auch, dass "mit angularen Modulen oft das gleiche Ergebnis erzielt werden kann".
Quelle: https://angular.io/docs/ts/latest/glossary.html#!#B
Die Fähigkeit zu ‚exportieren‘ einer Komponente, Richtlinie und/oder Rohr half mir auch das gleiche Ergebnis zu erzielen. Ich hatte vorher kein solides Verständnis dieses Konzepts.
Deklarierbare Klassen exportieren, die Komponenten in anderen Modulen in ihren Vorlagen referenzieren können. Dies sind Ihre öffentlichen Klassen. Wenn Sie eine Klasse nicht exportieren, bleibt sie privat und nur für andere Komponenten sichtbar, die in diesem Modul deklariert sind.
Sie können alle deklarierbaren Klassenkomponenten, Direktiven und Pipes exportieren, unabhängig davon, ob sie in diesem Modul oder in einem importierten Modul deklariert sind.
Sie können ganze importierte Module erneut exportieren, wodurch alle exportierten Klassen effektiv erneut exportiert werden. Ein Modul kann sogar ein Modul exportieren, das nicht importiert wird.
Quelle: https://angular.io/docs/ts/latest/cookbook/ngmodule-faq.html#!#q-what-to-export
Zusammengefasst sieht es aus, als ob die Notwendigkeit für die Fässer mit der Einführung von Angular Module ersetzt wurde. Aber die Verwendung von Fässern kann immer noch angewendet werden.
- 1. Können Module Eigenschaften haben?
- 2. Bedarf an Werkzeug für die Videoverarbeitung
- 3. Bedarf an Hilfe in jQuery.Flot Legende Formatierung
- 4. Wie definiere ich zwei eckige Apps/Module auf einer Seite?
- 5. Wie Routing auf verschachtelte Module in Eckige zu tun?
- 6. Wie kann ich Webpack finden, um eckige Module zu finden?
- 7. Haben Sie den Wert an die Steuerung
- 8. Haben Sie einen bereits erstellten Thread zu jeder Zeit oder erstellen Sie den Thread bei Bedarf
- 9. Wie reduziert man die Initialisierungszeit für den Spring-WebApplicationContext?
- 10. Reduziert das ECMA6-Modulsystem den heruntergeladenen Rohcode?
- 11. Wie HTML an die eckige Anweisung übergeben?
- 12. Dynamische eckige 2 Ausdrücke binden an Ansicht
- 13. plotly.js reduziert den Spielraum zwischen yAchse Titeln und den Achsnummern
- 14. iPhone Rotation bei Bedarf
- 15. Gesundheitsbalken reduziert, aber OXYGEN Bar ist nicht an verschiedenen Objekten
- 16. Überprüfen Sie, dass 2 eckige Formularfelder nicht den gleichen Inhalt haben
- 17. Kompilieren bei Bedarf deaktiviert
- 18. Senkrechte Linie, die Breite an beiden Enden reduziert
- 19. Warum deaktiviert die eckige Direktive den Textfilter?
- 20. .NET Multifle Assemblys ... Kann RAM-Speicher sparen, weil sekundäre Module bei Bedarf geladen werden?
- 21. Was ist der Bedarf an verschiedenen Klassenladern in Java
- 22. So geben Sie einen Parameter eines OperationContract nach Bedarf an
- 23. eckige Direktive dom Manipulation
- 24. Module zuverlässig an einem Ort installieren
- 25. Installierte CPAN-Module an problematischer Stelle
- 26. Eckige Versprechen
- 27. eckige Versprechen und Service
- 28. Reduziert eine größere Anzahl an Arc4Random die Ladegeschwindigkeit?
- 29. WPF Prism: Können Sie Module bei Bedarf im laufenden Betrieb laden?
- 30. Wie wendet man benutzerdefinierte eckige Anweisungen dynamisch an?
Module und Fässer sind unterschiedlich, da Sie einen Fass für den Import vieler Module haben können. Ich denke, worüber Sie sprechen, ist die Funktion eines Moduls zum Exportieren von Komponenten und anderen Dingen, die es zuerst importiert, die für jedes andere Modul verfügbar sind, das das Modul importiert, das die Komponente exportiert hat. Es ist der Weg, um mit "Modul über Modul" zu arbeiten. Zum Beispiel importieren Sie childModule, die childComponent exportieren, in Ihr rootModule und Sie können die childComponent im rootModule verwenden. Es wirkt hier wie ein Fass, ist es aber nicht. Das Gefühl von Fass ist "Paket". Sinn von Modulen ist die Kapselung. – Sam