Ich habe gerade angefangen mit Durandal zu arbeiten und alle Teile passen zusammen und ich benutze die Hot Towel Vorlage, um die Dinge zu beschleunigen.Wie Dropdown-Menüs für Durandal-Navigation verwenden?
Eine Sache, die mich stumpft, ist, wie man ein komplizierteres hierarchisches Navigationssystem als eine Buttongroup schafft. Hier ist, was ich mit will am Ende:
ABC
A1 B1 C1
A2 B2 C2
A, B und C sind die Menüs der obersten Ebene, die keine Routen haben mit ihnen verbunden - sie sind einfach Platzhalter. Ich werde Views und Viewmodels für A1, A2, B1, B2, C1 und C2 haben und diese Hashtags als aktive Links benötigen.
Meine beste Idee ist im Moment, das Elternmenü in die URL jeder Route einzufügen und Code in nav.html zu haben, der dynamisch jeden Knoten auf der Basis der Analyse der URL zu dem entsprechenden Elternteil hinzufügt. Um vollständig dynamisch zu sein, würde es sowohl die Elternknoten als auch die Kindknoten dynamisch hinzufügen.
Ich habe eine Menge Suche nach hierarchischen Navigationsbeispielen mit Durandal gemacht, aber habe noch nichts gesehen. Gibt es eine Best Practice, um die Navigationsfunktionalität über die einfache eindimensionale Liste hinaus zu erweitern? Übersehen wir einige Funktionen im Router, die ich nicht sehen kann, ohne dass ich Hierarchieinformationen in die Ansichtsnamen einbetten muss?
EDIT: Ich habe gerade eine Antwort als richtig markiert, obwohl ich mit beiden Lösungen nicht zufrieden war. Wenn man ein Framework auswählt, um Logik, Präsentation und Kontrolle zu trennen und zu trennen, scheint es albern, diese Konstrukte wieder zusammenzuführen, um mehr als eine einfache Navigations-Shell bereitzustellen. Ich habe meine Entwicklungsbemühungen auf angularjs umgestellt, wo solche Dinge viel intuitiver werden und die Trennung beibehalten können. Hoffentlich kann Durandal in naher Zukunft ein wenig mehr voranschreiten und ich werde es definitiv für zukünftige Projekte neu bewerten.
Dies ist eine ausgezeichnete Idee - markieren Sie die Route mit ihren Eltern. Ich werde daran ein wenig arbeiten, um es dynamischer zu machen, und vielleicht sogar als Durandal-Widget. – Graham
Hoffe es hilft dir, ich benutze diese Methode seit einer Weile und es funktioniert sehr gut und ist gleichzeitig dynamisch. Ich habe gerade gesehen, dass ich nicht die richtige Einrückung auf den b Routen hatte, also habe ich das gerade repariert. Viel Glück. –