2016-10-07 4 views
2

Est-ce que quelqu'un sait comment ajouter une barre oblique dans Aurelia, sur les URL générées avec <a route-href="route: route_name; params.bind: {...}">${link.title}</a>?Aurelia JS Trailing Slash sur les URL

J'ai essayé de modifier le navModel et j'ai recherché une option dans routerConfig qui pourrait le faire, mais n'en ai trouvé aucune. PS: J'utilise HTML5 pushState et j'ai supprimé le hachage.

config.options.pushState = true; 
config.options.hashChange = false; 

MISE À JOUR

Je fini cibler l'événement router:navigation:complete pour y parvenir. C'est une bidouille horrible à mon avis, mais si me donne ce que je besoin:

this.eventAggregator.subscribe('router:navigation:complete', 
    if (!/\/$/.test(window.location.pathname)) { 
     window.history.replaceState({}, document.title, window.location.pathname + '/'); 
    } 
}); 
+0

avez-vous essayé d'ajouter le slash final aux configurations de route? –

+0

Différents cas ici: J'utilise FB.getLoginStatus et j'en ai besoin uniquement pour l'URL racine (il semble que l'URL URI de FB soit toujours étendue avec une barre oblique). J'ai essayé "" et "/" dans la route principale - l'URL est alwasy sans la barre oblique. – andy250

+0

BTW: où avez-vous mis ce code d'abonnement? – andy250

Répondre

0

Vous pouvez ajouter +'/' à la fin de params.bind. Comme ceci:

<a route-href="route: route_name; params.bind: {... + '/'}">${link.title}</a> 
+0

Cela semble fonctionner, mais je cherche une solution plus configurable, celle qui cible également les routes qui n'ont pas 'params' et qui ne nécessite pas de mises à jour manuelles dans tous les endroits où' route-href' est utilisé. – BogdanArvinte

+0

Oui, je sais ce que tu veux dire. N'ont pas trouvé un jet de solution plus élégant. Jusqu'à présent, j'ai mis le '/' dans une constante pour échapper au problème que vous avez mentionné. Si vous trouvez une meilleure solution, publiez-la. –