J'essaie de naviguer vers une autre page en cliquant sur un bouton mais cela ne fonctionne pas. Quel pourrait être le problème. J'apprends maintenant angular 2 et c'est un peu difficile pour moi maintenant.
//Routes/Path in a folder call AdminBoard
export const AdminRoutes: Routes =[
{
path: 'dashboard',
component: AdminComponent,
children: [
{path: '', redirectTo: 'Home'},
{path: 'Home', component: HomeComponent},
{path: 'Service', component: ServiceComponent},
{path: 'Service/Sign_in', component:CustomerComponent}
]
}
];
//Button is also in a different folder. Click button to navigate to this page {path: 'Service/Sign_in', component:CustomerComponent}
<button class="btn btn-success pull-right" ><a routerLink="/Service/Sign_in"> Add Customer</a></button>
<button class="btn btn-success pull-right" ><a [routerLink]="[ '.', 'Service/Sign_in' ]"> Add Customer</a></button>
Réponses:
Utilisez-le comme ça, devrait fonctionner:
Vous pouvez également utiliser
router.navigateByUrl('..')
comme ceci:Mettre à jour
Vous devez injecter
Router
dans le constructeur comme ceci:alors seulement vous pourrez utiliser
this.router
. Pensez également à importerRouterModule
dans votre module.Mise à jour 2
Maintenant, après Angular v4, vous pouvez directement ajouter un
routerLink
attribut sur le bouton (comme mentionné par @mark dans la section des commentaires) comme ci-dessous -la source
[routerLink]
attribut directement sur le<button>
(ce qui évite certains problèmes de style qui peuvent survenir lors de l'enroulement du bouton dans un<a>
)[routerLink]
le modèle est la voie à suivre?html file
où le composant va être chargé doit avoir une<router-outlet></router-outlet>
balise. veuillez vous référer à angular.io/api/router/RouterOutlet#description pour plus de détails.Vous pouvez utiliser routerLink de la manière suivante,
ou utilisez
<button [routerLink]="['./url']">
dans votre cas, pour plus d'informations, vous pouvez lire l'intégralité du stacktrace sur github https://github.com/angular/angular/issues/9471les autres méthodes sont également correctes mais elles créent une dépendance sur le fichier du composant.
J'espère que votre problème est résolu.
la source
foo="boo"
c'est comme[foo]="'boo'"
. Peut-être voulez-vous lire stackoverflow.com/questions/43633452/…la source
Il est important de décorer le lien du routeur et de le lier avec des crochets comme suit:
Où « / service » dans ce cas est l'URL du chemin spécifié dans le composant de routage.
la source
Avoir le lien du routeur sur le bouton semble fonctionner correctement pour moi:
la source
vous pouvez changer
la source
Suivez ces étapes
Ajouter l'importation dans votre composant principal
Dans le même fichier, ajoutez ci-dessous le code pour le constructeur et la méthode
Ceci est votre
.html
code de fichierDans le
app-routing.module.ts
fichier ajouter un tableau de bordBonne chance.
la source