Я не понимаю, почему мой маршрут на уровне предмета не получает удар.Итак, я посмотрел сайт Angular по маршрутизации здесь: https://angular.io/guide/router. У меня есть основная настройка маршрутизации, подобная этой:
@NgModule({
imports: [
RouterModule.forRoot([
{ path: 'Login', component: LoginComponent },
{ path: '', redirectTo: '/Login', pathMatch: 'full' },
{
path: 'Money',
//Could this be wrong path and nothing is telling me?
loadChildren: '../Modules/Money/money.module#MoneyModule',
//canLoad: [LoginGuard]
},
{ path: '**', component: PageNotFoundComponent },
]
//, { enableTracing: true }
)
],
exports: [ RouterModule ],
providers: [LoginGuard, AuthService]
})
У меня есть «Модуль» для моих денег, вот так.Я попытался настроить '' для наследования прямого от родительского маршрута, но он никогда не работает, так что это может быть частью проблемы.
RouterModule.forChild(
[
// { path: '', component: MoneyListingsComponent, canActivate: [LoginGuard] },
{ path: 'Money', component: MoneyListingsComponent },
{ path: 'Money:id', component: MoneyEntryComponent }
])
А потом у меня есть реализация в HTML, как это так:
<div id="moneyEntryArea">
<router-outlet></router-outlet>
<div *ngFor="let tran of transactions">
<div>ID:
<a [routerLink]="['/Money', tran.transactionID]">{{tran.transactionID}}</a>
Amount: {{tran.amount}}
Desc:{{tran.transactionDesc}}
Running Total:{{tran.runningTotal}}
</div>
</div>
</div>
Таким образом, мой список выглядит очень хорошо, но когда я нажимаю на идентификатор «транзакции», он проглатывается с ошибкой вроде:
"Uncaught (in promise): TypeError: undefined is not a function
TypeError: undefined is not a function
at Array.map (<anonymous>)
at webpackAsyncContext (http://localhost:4200/main.js:2710:34)
at SystemJsNgModuleLoader.push../node_modules/@angular/core/fesm5/core.js.SystemJsNgModuleLoader.loadAndCompile (http://localhost:4200/vendor.js:59394:82)
at SystemJsNgModuleLoader.push../node_modules/@angular/core/fesm5/core.js.SystemJsNgModuleLoader.load (http://localhost:4200/vendor.js:59386:60)
at RouterConfigLoader.push../node_modules/@angular/router/fesm5/router.js.RouterConfigLoader.loadModuleFactory (http://localhost:4200/vendor.js:122028:82)
at RouterConfigLoader.push../node_modules/@angular/router/fesm5/router.js.RouterConfigLoader.load (http://localhost:4200/vendor.js:122016:35)
at MergeMapSubscriber.project (http://localhost:4200/vendor.js:120288:47)
at MergeMapSubscriber.push../node_modules/rxjs/_esm5/internal/operators/mergeMap.js.MergeMapSubscriber._tryNext (http://localhost:4200/vendor.js:132985:27)
at MergeMapSubscriber.push../node_modules/rxjs/_esm5/internal/operators/mergeMap.js.MergeMapSubscriber._next (http://localhost:4200/vendor.js:132975:18)
at MergeMapSubscriber.push../node_modules/rxjs/_esm5/internal/Subscriber.js.Subscriber.next (http://localhost:4200/vendor.js:127446:18)"
Я чувствую, что яя пропускаю что-то простое, например, мне нужно вставить еще одну директиву, но я теряюсь в уровнях.Любая помощь приветствуется.