Durandal / Knockout. Aktualisieren Sie andere Ansicht / Viewmodel

8

Durandal hat eine Basisansicht namens Shell.

Ich habe ein Suchfeld hinzugefügt, damit Administratoren / Qualitätssicherungsbenutzer jeden Systembenutzer nachahmen können. Auf den Button klicken Ich möchte die Ansicht der aktuell angezeigten Ansicht aktualisieren können.

  • Shell (Blau) Ansicht (rot)

Wie gehe ich vor, indem ich eine Funktion in meiner Kindansicht zeige, so dass ich sie aus der Shell aufrufen kann oder hänge ich in das Klickereignis der Shell in der untergeordneten Ansicht ein.

Frage:

  

Stellt Durandal irgendwelche Haken zur Verfügung, die ich verwenden kann, um Ereignisse zu verschiedenen Ansichten oder Elternbehältern zu sprudeln oder zu übergeben?

    
Rohan Büchner 22.07.2013, 07:32
quelle

1 Antwort

11

Angenommen, Sie haben mehrere untergeordnete Ansichten und möchten keine Abhängigkeiten zwischen der Shell und den untergeordneten Elementen herstellen. Daher empfiehlt es sich, das Durandal-Ereignissystem dafür zu verwenden. Die Shell-Ansicht würde zum Publisher und das Kind zu Abonnenten.

Sehen Sie sich Ссылка für eine funktionierende Demo an.

publisher.js

%Vor%

subscriber.js

%Vor%

Andere Optionen, die in Betracht gezogen werden könnten

  • ein gemeinsam genutztes Modul, das einen Singleton mit Eigenschaften zurückgibt, die zwischen Eltern / Kindern aufgeteilt werden sollen. Nachteil Es muss als Abhängigkeit in allen Eltern / Kindern definiert werden.
  • ein globaler z. myApp with properties ... Nachteil: Explaining global
RainerAtSpirit 22.07.2013, 08:35
quelle