AngularJS: Korrekter Platz für den globalen Menüanbieter, Dienst oder rootScope?

8

Ich bin neu bei AngularJS, und - da es ziemlich komplex ist und der Ansatz für mich neu ist, bin ich etwas verwirrt.

Ich bin vom "klassischen" Hintergrund (serverseitige Vorlagensprachen [wie Yii, django, Smarty] + etwas jQuery, um die Dinge ein bisschen dynamisch zu machen).

Nehmen wir an, ich habe eine Menüleiste (Bootstrap NavBar oder irgendetwas anderes) - ein Element, das außerhalb der Hauptseite Inhalt wie folgt lebt:

%Vor%

Nun möchte ich das Menü etwas dynamischer machen, d. h. einige Menüpunkte innerhalb des Controllers hinzufügen oder entfernen. Verwenden der serverseitigen Frameworks & amp; ihre Templating-Systeme, zum Beispiel Yii - Ich hätte einfach eine BaseController -Klasse mit $menuItems -Variable, und render es jedes Mal in der menuBar , während alle Controller von BaseController erben würden, so dass sie Elemente ändern könnten .

Ich brauche auch eine Funktion, die das searchForm in der Menüleiste behandelt. Wo sollte es wohnen?

Was ist der Winkelweg für so etwas? Bis jetzt habe ich darüber nachgedacht, benutzerdefinierte service zu erstellen oder $rootScope zu erweitern.

    
migajek 03.06.2013, 07:47
quelle

1 Antwort

9

AKTUALISIEREN : Ich würde Sie ermutigen, sich John Papas ng-demoes und style-guide als zweiten Schritt bei der Übernahme von angular.js.

Sieh dir Beispiele an, die angular.js team kürzlich gepostet hat, um die vollständige Anwendung anzuzeigen.

Achten Sie auf die folgenden Funktionen, die eckig Ihnen bietet

Ich glaube, es wird ein guter Ansatz sein, eine Kombination aus einem Service und einer Direktive zu haben, um das Menü so zu gestalten, wie Sie es beschrieben haben.

    
vittore 03.06.2013, 13:31
quelle