2016-07-25 12 views
3

Ich versuche, meine winkelige Komponenten einzubeziehen, Komponenten besser zu verstehen, ich entwickle ein einfaches Todo Crud mit der Komponentenarchitektur. Das Problem ist, dass ich denke, dass es sinnvoll ist, alle Operationen des Cruds in einen einzigen Controller zu integrieren und somit das Prinzip der einheitlichen Verantwortlichkeit zu respektieren, aber gleichzeitig ist es eine gute Praxis, die Ansichten zu teilen (eine für Listen Todo und löschen Sie einen anderen, Todos zu erstellen/zu aktualisieren).Best Practice mit eckigen Architektur mit Komponenten

Ich weiß, dass mehrere Ansichten mit einem einzigen Controller mit zwei separaten Komponenten erreicht werden kann, die den gleichen Controller und einige ng/ui-Route Magie registrieren, aber damit sprengt der Encapsulation Vorschlag, den die Komponenten zu bieten versuchen.

Also, hat jemand eine gute Lösung für dieses Problem herausgefunden?

+0

einen Blick auf angular2 todo nehmen, wird es Ihnen die Idee geben https://github.com/ColinEberhardt/angular2-todo/ – Rachmaninoff

+0

Können Sie einen Basic-Code schreiben, um zu sehen, was das Problem ist? Crud-Funktionen sollten in einem Dienst, nicht in einem Controller, eingesetzt werden. – gyc

+0

@HadiAmiri danke für den Kommentar, aber der Umfang der angular2 Todo ist einfach, so dass alle Operationen in einer einzigen Ansicht implementiert wurden (die Todo hat nur ein Feld). – danillosl

Antwort

1

Ich denke, Sie müssen immer die Modularität berücksichtigen, so können Sie einen Dienst erstellen, um alle Crud und API-Operationen zu behandeln, und es kann von Ihren anderen Controllern und Direktiven wiederverwendet werden. Hier ist ein Beispiel, wie wir es in unserem Projekt gemacht haben. Dies ist das Git Repo eines meiner Partner.

https://github.com/leog/epsilon

+0

Danke für die Antwort, ich lese den ersten Teil Ihrer Serie, könnte was ich brauche Ich werde den Rest lesen und das Projekt analysieren. – danillosl

1

Hier Demo von jhipster Repository link

Winkel ui-router Verwendung in Bank-account.state.js beschrieben alle Staaten mit Ansichten und Controller.

+0

danke für die Antwort, das sieht gut aus! Das einzige Problem, das ich sehe, ist, dass die Komponenten nicht in ein anderes Projekt exportiert werden können, das die Ansichtsstruktur nicht berücksichtigt. – danillosl