Sto usando lo scheletro di Aurelia per il mio progetto. Tutto sembrava così intuitivo, tuttavia sono bloccato da un problema che sospetto sia abbastanza facile (se sai come).Come passare tra la pagina di accesso e l'app con Aurelia
Il problema è che l'app.html/app.js mostra inizialmente una barra di navigazione e il caricamento di alcuni stili predefiniti.
Ora ho bisogno di una pagina di accesso, che non carichi nulla tranne i propri stili, nessuna barra di navigazione niente, solo il proprio modulo di accesso.
Così ho provato qualcosa di simile:
app.js
<template>
<div if.bind="auth.isNotAuthenticated()">
<require from="components/login/index" ></require>
<login router.bind="router"></login>
</div>
<div if.bind="auth.isAuthenticated()">
<require from="nav-bar.html" ></require>
<require from="../styles/styles.css"></require>
<div class="container" id="banner">
<div class="row">
<img src="images/logo.png" />
</div>
</div>
<nav-bar router.bind="router"></nav-bar>
<div class="page-host">
<router-view></router-view>
</div>
</div>
</template>
Ovviamente questo non dovesse funzionare (a meno che non si aggiorna la pagina/F5), dal momento che i app.js/app .html è la root route che è sempre presente e non cambia mai. Ma spero che la logica all'interno del markup aiuti a illustrare ciò che sto cercando di risolvere?
Suppongo che se solo sapessi come ricaricare la route principale (app.js) quando navigherò dalla rotta di accesso, in caso di accesso riuscito, a un'altra rotta. E ancora quando esco, anche la route principale (app.js) dovrebbe essere aggiornata ancora una volta. Allora tutti i miei problemi sarebbero risolti.
Cosa mi manca qui? :-)
Grazie molto per la risposta incredibile! setRoot era davvero la strada da percorrere! – Dac0d3r
@ jeremy-danyow, quando chiamo 'setRoot' dopo l'autenticazione, aurelia carica il modulo js e il codice HTML corrispondente ma non esegue il rendering di alcunché sulla pagina. Se clicco su questo punto, tutto va bene. C'è qualche pezzo mancante nel codice sopra? – Suhas
Amico ..... Non posso credere di non averlo mai pensato. Questo è genio, e ora sto facendo facepalming a tutti gli stupidi hack che ho fatto per far funzionare questo lavoro in modo equivalente .... –