AngularJS ändert sich im Controller bei Klick teilweise

8

Ich arbeite an einer Dashboard-Anwendung, bei der eine Reihe von Modulen gleichzeitig angezeigt wird. Ich möchte diesen Modulen mehrere Ansichten hinzufügen. Zum Beispiel ist die erste Ansicht eines Github-Moduls eine Liste Ihrer Repositories. Wenn Sie auf einen Repository-Link in diesem Modul klicken, wird diese Ansicht im Modul durch einen neuen Bildschirm ersetzt, auf dem alle Detailinformationen zu diesem Repo angezeigt werden.

Ich möchte jedoch, dass diese Ansicht in diesem Modul isoliert ist, damit ich meine anderen Module gleichzeitig verwenden kann (ich möchte die Seiten überhaupt nicht wechseln).

Ein Beispiel für das, was ich erreichen möchte, finden Sie hier: Ссылка

In diesem Beispiel würden Sie auf eine Frucht oder ein Auto klicken und detaillierte Informationen über diesen Artikel in diesem Modul in einer neuen Ansicht erhalten. (es führt derzeit nur eine Warnung aus).

Das habe ich bisher, aber ich habe keine Ahnung, wie ich das strukturieren und angehen sollte, soweit Controller und Ansichten gehen:

%Vor%

Vielen Dank im Voraus für jeden, der Ihnen helfen kann.

    
thomastuts 20.05.2013, 12:32
quelle

2 Antworten

22

Wenn Sie möchten, dass ein paar Zustände innerhalb desselben HTML-Elements angezeigt werden, können Sie die integrierte Anweisung ng-switch verwenden. Auf diese Weise können Sie den Inhalt des Elements wechseln, während Sie gleichzeitig die gleiche $scope beibehalten, sodass Sie die Daten problemlos zwischen diesen Zuständen austauschen können.

Hier ist Ihre aktualisierte Geige: Ссылка und weiter unten die Erklärung.

Im Falle Ihres Beispiels könnte es so aussehen:

HTML

%Vor%

Die zusätzliche Variable moduleState definiert den aktuellen Status des Widgets. Dank der ng-switch -Direktive wechselt der Inhalt der äußeren div automatisch zwischen inneren Elementen, basierend auf den Werten, die an ihre ng-switch-when -Attribute übergeben werden.

JS

%Vor%

Sie müssen lediglich den Wert der Variable moduleState ändern, die automatisch die gewünschte Widgetansicht anzeigt. Darüber hinaus enthält die eingeführte Variable selectedFruit den Verweis des Elements, auf das in der Detailansicht zugegriffen werden soll.

Der Vorteil der Verwendung der ng-switch -Direktive besteht darin, dass Sie auf einfache Weise beliebig viele Status zu Ihrem Widget hinzufügen können.

Sie können Ihr zweites Modul entsprechend modifizieren.

    
mirrormx 20.05.2013 14:30
quelle
0

Ich bin nicht ganz sicher, was Sie mit new view meinen, und es gibt wahrscheinlich ein paar Möglichkeiten, dies zu tun, aber nur um Sie mit einem der einfachsten (meiner Meinung nach) zu beginnen, können Sie Details haben Element für jedes Modul, das Sie basierend auf einer Auswahl ein- / ausblenden:

%Vor%     
lucuma 20.05.2013 14:29
quelle

Tags und Links