Ich habe eine Ansicht mit erweiterbaren / reduzierbaren Inhalten, die ich durch Klicken auf die Zeile in der Tabelle umschalten könnte. Vor pre1.0 hatte ich das in der Vorlage:
%Vor%was zuvor aus meiner Sicht gehandhabt wurde:
%Vor%Nach dem Upgrade auf pre1.0 wird die Aktion jedoch direkt vom Router ausgeführt. Dies ist in vielen Situationen sinnvoll, aber in diesem Fall ist die Erweiterung wirklich ein Problem. Ich habe versucht, dies nur durch einen Click-Event-Handler ohne Glück zu ersetzen.
Gibt es eine Best Practice für die Behandlung eines View-Concern-Ereignisses wie dieses mit pre1.0?
Veraltete Antwort
Auch wenn die Antwort von @ outside2344 funktioniert, denke ich, dass es nicht genau richtig ist.
Tatsächlich repräsentiert parentView
nicht die View, sondern die parentView ihrer parentView.
Seit 1.0-pre behalten Views ihren Kontext bei, sodass in der Vorlage this
für parentView, parentView
für parentView.parentView
und view
für die aktuelle Ansicht stehen.
Hier ist eine Geige, um dies zu veranschaulichen: Ссылка
Für mich lautet die Antwort {{action expand target="view"}}
BEARBEITEN (antwortet auf @Gal Ben-Haim)
Aktionshelfer verhalten sich in einer routerbasierten Anwendung kaum anders. Zitat aus der Dokumentation:
Wenn in einer Router-gesteuerten Anwendung eine Aktion nicht von einer Ansicht abgefangen wird , wird dieses Ereignis an die Route weitergeleitet, in der diese Ansicht gerendert wurde. Wenn es sich bei dieser Route um eine Unterroute einer anderen Route handelt, wird dort der Übergang bis zur Routendefinition auf oberster Ebene gesucht, unserem Über-Container: root.
Dieser blubbernde Effekt erlaubt es bestimmten Aktionen, privat zu bleiben. Wenn bestimmte Übergänge nur für bestimmte Unter-Unterzustände verfügbar sein sollen, setzen Sie den Übergang auf den Unterzustand und Sie haben eine Art von Scoping erreicht.
Im Grunde heißt das für mich in Router-gesteuerten Apps , wenn Sie ein Ziel im Aktions-Helfer nicht explizit definieren, wird es an den Router gesendet.
Aktualisierte Antwort
Ich denke, jetzt beantworten die Führer sehr gut diese Frage. siehe Ссылка
In pre1.0 können Sie das View-Feld zur Aktion machen, indem Sie target="parentView" zur Aktion hinzufügen:
%Vor%Tags und Links ember.js