Frage

Ich habe eine Sidebar-Ansicht mit einer Liste der Elemente wie so generasacodicetagpre.

Jetzt versuche ich, die Sidebar-Ansicht auf zwei verschiedenen Routen anzuzeigen, aber ich rannte ein kleines Problem. Auf der Route A möchte ich, dass das Dosomething () -Methode "A", und auf der Route B i Wünschen, dass die dosomething-() -Methode "b" druckt. Also fragte ich mich, was der beste Ansatz in dieses Problem ist? Ich dachte darüber nach und kam mit den folgenden 2 Ansätzen auf, aber weder scheinen elegant genug zu sein.

Annäherung 1

Erstellen Sie eine andere Sidebarview und rufen Sie ihn sideleistBarView2 an und ändern Sie dann die Methode dosomething an dosomethingforRouteb. Dann kann ich Sidebarview2 für die Route B verwenden. Dies hat jedoch das trockene Prinzip verletzt; Ganz zu schweigen, lasst uns sagen, ich möchte die Rendering-Methode für die Sidebar-Ansicht später ändern, dann müsste ich an zwei verschiedenen Orten Änderungen vornehmen. Insgesamt denke ich, dass dies ein sehr schlechter Ansatz ist

Annäherung 2

in der dosomething () -Methode kann ich die logische Anweisung wie so haben generasacodicetagpre.

ein wenig eleganter als Ansatz 1, aber eine logische Aussage in Ihrer Sicht ist ein bisschen zu hackig.

Jedenfalls ist meine Frage, dass ich den Ansatz 2 verwenden soll oder ist ein besserer Ansatz für dieses Problem?

danke

War es hilfreich?

Lösung

Warum lässt Sie nicht, dass Sidebarview einen Parameter akzeptiert, von dem Sie anzeigen möchten. generasacodicetagpre.

und dann in Ihrem Router: generasacodicetagpre.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top