Я программировал и смотрел учебник Брэда Трэверси. и я сделал именно так, как сказано. это мой app.module.ts.
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import {RouterModule, Routes} from '@angular/router';
import { AppComponent } from './app.component';
import { NavbarComponent } from './components/navbar/navbar.component';
import { LoginComponent } from './components/login/login.component';
import { RegisterComponent } from './components/register/register.component';
import { HomeComponent } from './components/home/home.component';
import { ProfileComponent } from './components/profile/profile.component';
import { DashboardComponent } from './components/dashboard/dashboard.component';
const appRoutes: Routes = [
{path:'', component: HomeComponent},
{path:'register', component: RegisterComponent},
{path:'login', component: LoginComponent},
{path:'dashboard', component: DashboardComponent},
{path:'profile', component: ProfileComponent}
]
@NgModule({
declarations: [
AppComponent,
NavbarComponent,
LoginComponent,
RegisterComponent,
HomeComponent,
ProfileComponent,
DashboardComponent
],
imports: [
BrowserModule,
RouterModule.forRoot(appRoutes) // appRoutes: an object
],
providers: [],
bootstrap: [AppComponent]
})
export class AppModule { }
это мой компонент навигационной панели
<li><a class = "nav-link" [routerLink] = "['/']" [routerLinkActive] = "
['active']">Home</a></li>
<li><a class = "nav-link" [routerLink] = "['/login']" [routerLinkActive] = "
['active']">Login</a></li>
Я также добавил
<base href = "/">
в файл index.html.
Когда я удаляю часть RouterLink, страницы работают нормально. Он отображает содержимое внутри компонентов, когда я указываю путь в URL-адресе.
Я ответил на несколько вопросов. но я все сделал, не могу найти ответа.
Получили ли вы какую-либо ошибку в консоли? Если да, пожалуйста, укажите эту ошибку здесь.
Попробуйте этот <a class = "nav-link" [routerLink] = "['/']" routerLinkActive = " active">Home</a>, это может сработать
какой у Вас вопрос?
нет ошибок
Спасибо, я нашел ответ. на самом деле это из-за полученного мной навигационного кода начальной загрузки. Как только я удалил класс «fixed-top» на панели навигации, ссылки начали работать.
странное решение :)





Обновление: чтобы улучшить мой ответ. Вы пытаетесь вызвать директиву, добавив [routerLink] в фигурные скобки. Затем передайте ему строку, которая будет оцениваться как javascript для маршрута. Это не сработает, поэтому вам нужно передать ему действующий javascript, например. массив маршрутов.
Попробуйте удалить косую черту и кавычки из ссылки на маршрутизатор следующим образом:
<li><a class = "nav-link" [routerLink]=['/'] [routerLinkActive]=['active']>Home</a></li>
<li><a class = "nav-link" [routerLink]=['/login'] [routerLinkActive]=['active']>Login</a></li>
Как описано здесь:
Не стесняйтесь комментировать, если это не сработает, и я обновлю свой ответ.
С уважением, Крис
Спасибо, но на самом деле это не сработало. выдала ошибку: файл не найден
вы не забыли импортировать {RouterModule, Routes} из '@ angular / router'; к модулю, из которого вы вызываете routerLink?
Также удалите кавычки из части routerLinkActive - я обновил свой ответ новым кодом
Спасибо! Мне это понравилось. но я нашел решение. на самом деле это не угловая ошибка. вот почему он не появился в консоли. ошибка была в классах панели навигации начальной загрузки. когда я удалил класс fixed-top из <nav>, он начал работать
Спасибо за помощь :)
напишите routerLinkActive, как показано ниже .. удалите эти скобки
<li>
<a class = "nav-link" [routerLink] = "['/']" routerLinkActive = "active">Home</a>
</li>
<li>
<a class = "nav-link" [routerLink] = "['/login']" routerLinkActive = "active">Login</a>
</li>
официальная документация: - https://angular.io/guide/router
Есть ли способ активировать модальное окно, когда мы щелкнули <a class = "nav-link" [routerLink visible = "['/login'ght" routerLinkActive = "active" (click) = "loginModal()> Login </ a> когда пользователь щелкает логин, он перенаправляется на страницу входа и откроет модальное окно.
какая у вас ошибка?