Ich versuche einen modalen Dialog zu öffnen, indem ich den ui-Router von Angular benutze, wie erklärt hier .
Das Ziel ist, dass der Dialog überall zugänglich ist, eine URL wird nicht unbedingt benötigt, aber es wäre schön, wenn ich auf eine Seite mit dem geöffneten Dialog verlinken könnte.
Hier ist das gebrochene Beispiel:
Klicken auf "Menü" sollte den Dialog von jeder Seite öffnen.
Die Routing-Logik:
%Vor%Es sollte kein Kind von "app.home" sein, da ich möchte, dass es überall zugänglich ist. Wie kann ich das erreichen?
Sie können dies mit UI-Router Extras "Sticky States" tun.
Aktualisierte Plunk: Ссылка
Hier ist die modale Demo des UI-Router-Extras: Ссылка
Um dein Plunk zu aktualisieren, habe ich UI-Router Extras hinzugefügt:
%Vor% %Vor%Ich habe eine benannte ui-view für die App und eine für das modal
hinzugefügt %Vor% Dann habe ich Ihren App-Status als sticky
markiert und Ihren modalen Status zu einem Zustand der obersten Ebene gemacht. Der Effekt ist, dass Sie von einem beliebigen app.*
-Zustand zum modalen Zustand navigieren können ... anstatt diesen Status zu verlassen, wird er nur "inaktiviert" und verbleibt im DOM.
schnelle Frage: Wenn ich dem "Menü" eine URL (/ Menü) gebe und der Benutzer zu dieser URL geht (website.com/menu) gibt es eine Möglichkeit, einen "Standard" Sticky für die App-Ansicht festzulegen? (eine Art Standard-Elternteil der Modalitäten)
Sie können das selbst mit einer Reihe dummer Logik tun.
Tags und Links angularjs angular-ui-router bootstrap-modal