2016-05-26 12 views
0

Ich implementiere eine Funktionalität für (hinzufügen, aktualisieren, löschen & erhalten, Filter).Angular js wenn separaten Controller erstellen

Aktuell Add View wird zum Hinzufügen, Aktualisieren und Löschen verwendet. (Controller1) Get View wird für get und filters verwendet. (Controller2)

Erstellt Routing für Add und Get Separat. Also 2 Controller für jeden. Nun muss ich den Dienst für allgemeine Konfigurationsdaten aufrufen, der in beiden Controllern verwendet wird.

Welches der folgenden Design sollte ich bevorzugen.

Entwurf 1

beide kombinieren, um die Controller einen einen Controller, setzte den gesamten Code innen. (Einschließlich der Konfigurationsdaten)

Entwurf 2

Eine Steuerung für holen filtern Zweiter Controller zum Hinzufügen, Aktualisieren und Löschen von gemeinsamen Werk für Config-Daten.

Bin verwirrt, welches Design ich von allen Aspekten bevorzugen sollte. Bitte vorschlagen.

Vielen Dank im Voraus.

Antwort

0

Seine gute Praxis „skinny Controller“ haben

EDIT -

In AngularJS, Steuerungen können manchmal monolithische Strukturen aus gemischter Geschäfts- und Darstellungslogik werden, wie es zu Hause nur allzu leicht ist alles, was Sie für die Ansicht im Controller benötigen. Es ist praktisch, und es funktioniert einfach ... bis Ihre Anwendung komplexer wird oder Komponententests benötigt.

Warum also wollen wir dünne Controller überhaupt? Kurz gesagt, Trennung von Anliegen. Im Idealfall sollte alles, von Services über Controller bis hin zu Direktiven und mehr, dürftig sein, und dies ist in AngularJS sehr gut möglich. Jeder Teil sollte eine einzige Verantwortung tragen, und die Verantwortung des für die Verarbeitung Verantwortlichen sollte darin bestehen, zwischen den Diensten und der Sichtweise zu kommunizieren; d. h. sein Hauptanliegen sollte die Ansichtsmodelllogik sein.

Ziel ist es, Ihre Controller sowie den Rest Ihrer Anwendung schlanker zu machen, indem Sie die Ansichtslogik und Geschäftslogik in Controller und Dienste aufteilen und Routen und Lösungen nutzen.

Sie können

+0

bei Codebeispielen in this article & Blick im Detail nachlesen Während dieser Link, um die Frage zu beantworten, ist es besser, die wesentliche Teile der Antwort hier aufzunehmen und den Link zur Referenz. Nur-Link-Antworten können ungültig werden, wenn sich die verknüpfte Seite ändert. - [Aus Bewertung] (/ review/low-quality-posts/12489485) – gobrewers14

+0

Danke @ GoBrewers14 – Mark

Verwandte Themen