Estou tentando navegar para outra página clicando em um botão, mas não funciona. Qual poderia ser o problema. Agora estou aprendendo angular 2 e é um pouco difícil para mim agora.
//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>
Respostas:
Use-o assim, deve funcionar:
Você também pode usar
router.navigateByUrl('..')
desta forma:Atualizar
Você tem que injetar
Router
no construtor assim:só então você será capaz de usar
this.router
. Lembre-se também de importarRouterModule
em seu módulo.Atualização 2
Agora, após o Angular v4, você pode adicionar
routerLink
atributos diretamente no botão (conforme mencionado por @mark na seção de comentários) como abaixo -fonte
[routerLink]
atributo diretamente no<button>
(o que evita alguns problemas de estilo que podem surgir ao envolver o botão em um<a>
)[routerLink]
o modelo é a melhor?html file
onde o componente vai ser carregado tem que ter<router-outlet></router-outlet>
tag. consulte angular.io/api/router/RouterOutlet#description para obter mais detalhes.Você pode usar o routerLink da seguinte maneira,
ou use
<button [routerLink]="['./url']">
no seu caso, para obter mais informações, você pode ler todo o stacktrace no github https://github.com/angular/angular/issues/9471os outros métodos também estão corretos, mas eles criam uma dependência no arquivo do componente.
Espero que sua preocupação seja resolvida.
fonte
foo="boo"
é como[foo]="'boo'"
. Talvez você queira ler stackoverflow.com/questions/43633452/…fonte
É importante decorar o link do roteador e vinculá-lo com colchetes da seguinte maneira:
Onde " / serviço ", neste caso, é o URL do caminho especificado no componente de roteamento.
fonte
Ter o link do roteador no botão parece funcionar bem para mim:
fonte
você pode mudar
fonte
Siga esses passos
Adicionar importação em seu componente principal
No mesmo arquivo, adicione o código abaixo para o construtor e o método
Este é o seu
.html
código de arquivoNo
app-routing.module.ts
arquivo, adicionar painelBoa sorte.
fonte