J'ai une petite application web qui utilise les composants Angular 1.5. Lorsque je lance le serveur, le navigateur me redirige vers http://127.0.0.1:50001/welcome ce qui est attendu, et la page d'accueil s'affiche. Si, par exemple, je veux créer un nouvel utilisateur, je clique sur le lien et l'URL devient http://127.0.0.1:50001/welcome/newUser et le formulaire de nouvel utilisateur apparaît.
Le problème survient lorsque j'essaie d'accéder directement aux URL (ou de rafraîchir la page) - la page ne se charge tout simplement pas. Aucune erreur n'apparaît dans la console - rien ne se passe.
Ma configuration est la suivante :
Composant racine :
.component('webGuiComponent', {
template: '<ng-outlet></ng-outlet>',
$routeConfig: [
{ path: '/welcome/...', name: 'Welcome', component: 'welcomeComponent', useAsDefault: true }
]
})
.value('$routerRootComponent', 'webGuiComponent');
Composants de bienvenue :
.component('welcomeComponent', {
template: '<header></header><ng-outlet></ng-outlet>',
$routeConfig: [
{ path: '/', name: 'Index', component: 'indexComponent', useAsDefault: true },
{ path: '/newUser', name: 'NewUser', component: 'newUser' }
]
})
.component('indexComponent', {
templateUrl: '/app/components/welcome/index.html'
});
Nouveau composant utilisateur :
.component('newUser', {
controller: 'userController',
templateUrl: '/app/components/user/new.html'
})
Le lien de navigation utilise des ng-links standard :
<a class="navbar-brand" ng-link="['/Welcome/Index']">Web GUI</a>
<a class="navbar-brand" ng-link="['/Welcome/NewUser']">Sign Up</a>
Quelqu'un sait-il pourquoi la navigation fonctionne lorsqu'elle est effectuée via ng-link mais pas lorsqu'on accède directement aux URL ?