/ / Aurelia Multi-page App? - smerovanie url, aurelia, aurelia-router

Aurelia viacstranová aplikácia? - url-smerovanie, aurelia, aurelia-router

Ak mám hlavné nastavenie súboru main.ts ...

Main.ts

import {Aurelia} from "aurelia-framework"
import environment from "./environment";

//Configure Bluebird Promises.
(<any>Promise).config({
warnings: {
wForgottenReturn: false
}
});

export function configure(aurelia: Aurelia) {
aurelia.use
.standardConfiguration()
.feature("resources");

if (environment.debug) {
aurelia.use.developmentLogging();
}

if (environment.testing) {
aurelia.use.plugin("aurelia-testing");
}



// PLAYING AROUND - Log to Console the Value of ShowLanding Session Storage
let showLanding = false;
console.log(showLanding);
// let showLanding = sessionStorage.getItem("show_landing");

if (showLanding || showLanding === null) {
aurelia.start().then(() => aurelia.setRoot("landing"));
} else {
aurelia.start().then(() => aurelia.setRoot("blog/blog"));
}
}

Mám „Landing.html /.ts "v koreňovom adresári mojej aplikácie a zdá sa, že tento kúsok kódu funguje dobre. To znamená, že ak sa" showLanding = false "aplikácia načíta na moju stránku blog.html, a ak je pravdivá, bude načítať na moju stránku „Landing.html“.

Čo sa snažím urobiť, je vytvoriť stránku správcu. Kedykoľvek je navštívená adresa URL ".... com / admin" prejdite na stránku "admin.html", ktorú som nastavil.

Je to možné urobiť front-end? Jediným iným spôsobom, ako by som vedel, by bolo zladenie adresy URL a zobrazovania statickou cestou zo servera, áno?

odpovede:

1 pre odpoveď č. 1

Toto sa mi podarilo dosiahnuť (tak, ako som to chcel) tak, že som jednoducho prečítal window.location.pathname a nastavil moju stránku administrátora ako root aplikácie.

so my Main.ts was changed to:

...

if (showLanding || showLanding === null) {
aurelia.start().then(() => aurelia.setRoot("landing"));
} else if (window.location.pathname == "/admin") {
aurelia.start().then(() => aurelia.setRoot("admin/admin"));
} else {
aurelia.start().then(() => aurelia.setRoot("blog/blog"));
}
}

Som si istý, že to pravdepodobne nie je najlepší spôsob, ako to dosiahnuť, ale zdá sa, že zatiaľ pracuje. Budem si istý a aktualizovať to, ak existujú nejaké problémy, na ktoré narazím.

Ak chce niekto iný, aby sa zapojil do akýchkoľvek alternatívnych myšlienok, obáv, návrhov alebo spätnej väzby, urobte to! Vďaka!