Próbuję przejść do innej strony, klikając przycisk, ale to nie działa. Jaki może być problem. Uczę się teraz Angular 2 i jest mi teraz trochę ciężko.
//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>
Odpowiedzi:
Użyj tego w ten sposób, powinno działać:
Możesz również użyć w
router.navigateByUrl('..')
ten sposób:Aktualizacja
Musisz wstrzyknąć
Router
do konstruktora w następujący sposób:tylko wtedy możesz używać
this.router
. Pamiętaj również o imporcieRouterModule
do swojego modułu.Zaktualizuj 2
Teraz, po Angular v4 możesz bezpośrednio dodać
routerLink
atrybut na przycisku (jak wspomniano przez @mark w sekcji komentarzy), jak poniżej -źródło
[routerLink]
atrybut bezpośrednio na<button>
(co pozwala uniknąć niektórych problemów ze stylizacją, które mogą pojawić się podczas zawijania przycisku<a>
)[routerLink]
w szablonie jest właściwą drogą?html file
którym będzie ładowany komponent, musi mieć<router-outlet></router-outlet>
tag. więcej informacji można znaleźć w angular.io/api/router/RouterOutlet#description .Możesz użyć routerLink w następujący sposób,
lub użyj
<button [routerLink]="['./url']">
w swoim przypadku, aby uzyskać więcej informacji, możesz przeczytać cały ślad stosu na github https://github.com/angular/angular/issues/9471inne metody są również poprawne, ale tworzą zależność od pliku składnika.
Mam nadzieję, że problem został rozwiązany.
źródło
foo="boo"
jest jak[foo]="'boo'"
. Może chcesz przeczytać stackoverflow.com/questions/43633452/ ...źródło
Ważne jest, aby ozdobić łącze routera i łącze nawiasami kwadratowymi w następujący sposób:
Gdzie „ / service ” w tym przypadku jest adresem URL ścieżki określonym w komponencie routingu.
źródło
Wydaje mi się, że posiadanie łącza routera na przycisku działa dobrze:
źródło
możesz się zmienić
źródło
Wykonaj poniższe czynności
Dodaj import w głównym komponencie
W tym samym pliku dodaj poniższy kod dla konstruktora i metody
To jest
.html
kod twojego plikuW
app-routing.module.ts
pliku dodaj dashboardPowodzenia.
źródło