2017-05-12 1 views
0

Hallo, ich habe dies auf Gitter gefragt, aber hoffe, dass hier jemand helfen kann.Aurelia Routing zum selben ModulID

Ich habe zwei verschiedene Routen, die die gleiche Modul-ID haben. Ich habe auch ein Einstellungsobjekt innerhalb der Routen mit einigen Daten eingerichtet, um zu unterscheiden, was gerendert wird. Alles funktioniert gut, wenn ich von woanders zu einer dieser Routen navigiere, aber wenn ich von einer zur anderen navigiere, werden weder der Konstruktor noch die Aktivierung ausgelöst. vermisse ich etwas?

+0

Dies ist ein Duplikat von: http://stackoverflow.com/questions/39999969/how-to-set-default-activationstrategy-in-aurelia –

Antwort

2

ich dieses Problem hatte und es dauerte eine Weile, um eine Lösung zu finden - das Ihnen helfen soll ich hoffen;

Sie müssen die determineActivationStrategy()-Methode in Ihre Klasse einfügen und dann wie folgt zurückkehren.

import {activationStrategy} from "aurelia-router"; 

export class ExampleViewModel { 

    determineActivationStrategy() { 
     return activationStrategy.replace; 
    } 

} 

Dadurch wird erzwungen, dass die VM ersetzt wird, wenn Sie von ihr selbst dorthin weitergeleitet werden.

Hier finden Sie weitere Informationen zu den verschiedenen Aktivierungsstrategietypen.

activationStrategy.no-change - Wiederverwendung Instanz ohne Lifecycle Ereignisse

activationStrategy.invokeLifecycle - Lifecycle-Methoden auf dem Viewmodel-Instanz aufrufen jedesmal, wenn die Strecke schaltet

activationStrategy.replace - neue Instanz von Ansichtsmodell konstruieren und den gesamten Lebenszyklus aufrufen darauf

Von hier ZombieCodeKill - Aurelia Routing Beyond the Basics

0

die Antwort here gefunden :) Obwohl keine vollständige fix aus der Box ist die Implementierung möglich

Verwandte Themen