- Угловая Версия: 2.1.0
- Router Версия: 3.1.0
Я учусь маршрутизация в угловых 2 и пользовательских сегментах не добавляются к URL при нажатии ссылки и загрузке компонента.Угловые 2: routerLink не разрешение
Вручную вводить сегменты в адресную строку, работает, а компонент загружается в <router-outlet></router-outlet>
, но вместо этого я хочу, чтобы он работал должным образом - щелкнув ссылку внутри директивы routerLink
.
Я следил за маршрутизатором documentation и до сих пор имею плохие результаты.
Вот очень похоже question, но пришли, чтобы найти решения, которые работают на меня пока.
Два общего решения я наткнулась являются:
- орфографические ошибки «routerLink», который является чувствительным к регистру
- Не имея
<base href='/'>
в верхней частиindex.html
Также нет никаких ошибок в консольном окне в Chrome
Итак, прежде чем продолжить, я просто хотел отменить очевидные решения.
Это то, что я сделал, чтобы настроить свой собственный маршрутизатор:
1. Конфигурация пользовательских маршрутов (routes.ts)
import { Routes, RouterModule } from '@angular/router';
import { RecipesComponent } from './recipes/recipes.component';
import { ShoppingListComponent } from './shopping-list/shopping-list.component';
//TODO Fix routing bug (not switching on click or displaying in URL)
export const APP_ROUTES: Routes = [
{path: '', redirectTo: 'recipes', pathMatch: 'full'},
{path: 'recipes', component: RecipesComponent},
{path: 'shopping-list', component: ShoppingListComponent}
];
/*Set routing up for root of app*/
export const routing = RouterModule.forRoot(APP_ROUTES);
2. Импорт маршрутов в глобальном масштабе (app.module. ц)
import { routing } from './routes';//Custom routes file
@NgModule({
// Declarations removed for bravity
imports: [
BrowserModule,
FormsModule,
HttpModule,
routing
],
providers: [ShoppingListService],
bootstrap: [AppComponent,]
})
export class AppModule { }
3. Поставка Директива RouterOutlet (app.c omponent.html)
<rb-header></rb-header>
<div class="container">
<router-outlet></router-outlet>
</div>
4. Реализация routerLink со статическими сегментов (header.component.html)
<ul class="nav navbar-nav">
<li><a routerLink="/recipes">Recipes</a></li>
<li><a routerLink="/shopping-list">Shopping List</a></li>
</ul>
Маршрутизатор documentation говорит, что использование routerLink
для статических сегментов и для [routerLink]
используя параметры для прохождения. Я пробовал оба подхода, но они все же представляют один и тот же результат.
Вероятно, вы получаете исключение, потому что я не вижу, как вы импортируете эти компоненты в любом месте. Вы должны создать модуль для них и импортировать его в основной AppModule – Fals
Вы скомпилировали ваши ts-файлы в js-файлы? У вас есть ошибки? – echonax
@echonax thatnks for ask - Нет, ошибок нет, и я добавил, что на мой вопрос – ShadowCore