Estoy intentando navegar a otra página haciendo clic en un botón, pero no funciona. Cual podría ser el problema. Ahora estoy aprendiendo angular 2 y ahora es un poco difícil para mí.
//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>
Respuestas:
Úselo así, debería funcionar:
También puedes usar
router.navigateByUrl('..')
así:Actualizar
Tienes que inyectar
Router
en el constructor así:solo entonces podrás usar
this.router
. Recuerde también importarRouterModule
en su módulo.Actualización 2
Ahora, después de Angular v4, puede agregar directamente un
routerLink
atributo en el botón (como lo menciona @mark en la sección de comentarios) como se muestra a continuación:fuente
[routerLink]
atributo directamente en<button>
(lo que evita algunos problemas de estilo que pueden surgir al envolver el botón en un<a>
)[routerLink]
en la plantilla la forma a seguir?html file
donde se cargará el componente debe tener<router-outlet></router-outlet>
etiqueta. consulte angular.io/api/router/RouterOutlet#description para obtener más detalles.Puede utilizar routerLink de la siguiente manera,
o use
<button [routerLink]="['./url']">
en su caso, para obtener más información, puede leer el stacktrace completo en github https://github.com/angular/angular/issues/9471los otros métodos también son correctos pero crean una dependencia en el archivo del componente.
Espero que se resuelva su inquietud.
fuente
foo="boo"
es como[foo]="'boo'"
. Quizás quieras leer stackoverflow.com/questions/43633452/…fuente
Es importante que decore el enlace del enrutador y el enlace con corchetes de la siguiente manera:
Donde " / servicio " en este caso es la URL de ruta especificada en el componente de enrutamiento.
fuente
Tener el enlace del enrutador en el botón parece funcionar bien para mí:
fuente
tu puedes cambiar
fuente
Sigue estos pasos
Agregue importación en su componente principal
En el mismo archivo, agregue el siguiente código para el constructor y el método
Este es su
.html
código de archivoEn
app-routing.module.ts
archivo, agregar panelBuena suerte.
fuente