È possibile impostare le proprietà dell'istanza in entrambi i metodi di costruzione e attivazione, entrambi verranno invocati da Aurelia. Tuttavia, qui c'è una sorta di differenza concettuale.
L'attivazione è uno dei metodi del ciclo di vita dell'attivazione dello schermo e dovrebbe essere idealmente utilizzato per controllare solo il comportamento di schermo/modello di visualizzazione. Ad esempio, il metodo canDeactivate
controlla se è possibile navigare nel modello di visualizzazione, ecc. Activate è anche un hook che viene eseguito appena prima che il modello di visualizzazione venga sottoposto a rendering (ma prima di attached
hook). Tuttavia, è possibile che il metodo activate
non venga mai chiamato è dire che il percorso si allontana nel costruttore o nei metodi canActivate
rifiuta/restituisce falso - in questo caso il costrutto verrà comunque richiamato, ma l'attivazione non lo sarà.
D'altra parte, il metodo construct
viene richiamato prima di qualsiasi altro hook e metodo, quindi viene chiamato prima di activate
. Per questo motivo, il costrutto è un luogo primario per l'impostazione delle proprietà di configurazione perché richiede iniezioni di dipendenza. Quindi mentre si attiva prende un insieme fisso di parametri (params, routeConfig, navigationInstruction), l'elenco dei parametri passati al metodo constructor
dipende da quali servizi si iniettano nella classe del modello di visualizzazione.
Non riesco a trovare alcuna documentazione sul sito di Aurelia che parli con 'activate()' o 'canActivate()'. Dove sono queste informazioni? – lux
La documentazione di Aurelia è ancora piuttosto brutta .. Ma puoi trovare alcune informazioni qui: https://github.com/aurelia/documentation/blob/master/English/docs.md#the-screen-activation-lifecycle – dfsq
@dfsq: il tuo link è rotto ... –