Accédez à une autre page avec un bouton dans angulaire 2
Je suis en train de naviguer vers une autre page en cliquant sur un bouton, mais il ne fonctionne pas. Quel pourrait être le problème. Je suis en train d'apprendre angulaire 2 et c'est un peu dur 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>
- essayez quelque chose comme ceci:
<button class="btn btn-success pull-right" ><a [routerLink]="[ '.', 'Service/Sign_in' ]"> Add Customer</a></button>
Vous devez vous connecter pour publier un commentaire.
L'utiliser comme ceci, devrait fonctionner:
Vous pouvez également utiliser
router.navigateByUrl('..')
comme ceci:Mise à jour
Vous avez à injecter
Router
dans le constructeur comme ceci:alors seulement vous êtes en mesure d'utiliser
this.router
.Mise à jour 2
Maintenant, Après Angulaire v4 vous pouvez ajouter directement des
routerLink
attribut sur le bouton (Comme mentionné par @marc dans la section des commentaires) comme ci-dessous -[routerLink]
attribut directement sur la<button>
(ce qui évite certains style les problèmes qui peuvent survenir lors de l'emballage de la touche dans un<a>
)[routerLink]
dans le modèle de la voie à suivre?html file
où le composant va être chargé a avoir<router-outlet></router-outlet>
tag. veuillez consulter la angulaire.io/api/routeur/RouterOutlet#description pour plus de détails.<button mat-button routerLink="['/users/', user.id]">View</button>
? Mais il me donne une erreur. Est-il une syntaxe correcte pour cela ?<button [routerLink]="['/mypath', model.SomeVal ]">The button</button>
tente d'accéder à:/mypath,99
, au lieu de:/mypath/99
du modèle.SomeVal == 99. J'ai essayé toutes sortes de combinaisons dans lerouterLink
valeur de l'attribut et rien ne fonctionne comme prévu lorsque vous avez besoin pour naviguer jusqu'à un paramétrée route.Vous pouvez utiliser routerLink de la manière suivante,
ou de l'utilisation
<button [routerLink]="['./url']">
dans votre cas, pour plus d'info vous pouvez lire l'intégralité de la stacktrace sur github https://github.com/angular/angular/issues/9471les autres méthodes sont également de corriger, mais ils créent une dépendance sur le fichier de composant.
Espère que votre souci est résolu.
foo="boo"
est comme[foo]="'boo'"
. Peut-être que vous voulez lire stackoverflow.com/questions/43633452/...Il est important que vous décorez le routeur lien et lien avec les crochets comme suit:
Où "/service" dans ce cas est le chemin de l'url spécifiée dans le composant de routage.
vous pouvez modifier
Avoir le routeur lien sur le bouton de semble bien fonctionner pour moi: