Wątek przeniesiony 2018-09-19 10:12 z C# i .NET przez somekind.

Routing w Angularze

0

Pytanie dotyczące routingu w Angularze wersji 6. Układ routingu w projekcie jest następujący: https://pastebin.com/30HHsg17 Problem polega na tym, że w każdym pliku z routingiem dla danego modułu muszę odwoływać się do jego pełnej ścieżki.

Czyli przykładowo, jeśli wskazałem w app.routing że pod:
{ path: 'login', loadChildren: 'src/app/Authorization/Authorization.module#AuthorizationModule' },
To w Authorization.routing muszę się znowu odwoływać:
{ path: 'login', component: LoginpanelComponent,} zamiast { path: '', component: LoginpanelComponent} żeby dostać się pod adres "localhost/login".

Da się to jakoś ustawić, co bym mógł mieć przyjęte, że w każdym child-routing pliku domyślną ścieżką początkową była już ta przekazana z app.routing?

0

A nie zapomniałeś przypadkiem o eksportowaniu modułów z routingiem?

app.routing

@NgModule({
  ...
  exports: [RoutingModule]
})

authorization.module:

@NgModule({
  ...
  exports: [AuthorizationRoutingModule]
})
0

Nadal to nie działa. Aktualnie przerobiłem to nieco, i wygląda to tak:
Tu poniższy kod na pastebin: https://pastebin.com/1PrDdX8R

Klasa app.routing.ts:

const routes: Routes = [ { path: 'notices', loadChildren: () => NoticesModule }];
@NgModule({
  imports: [RouterModule.forRoot(routes)],
  exports: [RouterModule],
  providers: []
})
export class AppRoutingModule { }

Klasa notice.routing.ts:

const routes: Routes = [
  {
    path: '',
    component: NoticeComponent,
  }
];

@NgModule({
  exports: [RouterModule],
  imports: [RouterModule.forChild(routes)]
})

export class NoticesRoutingModule { }

I klasa notice.module.ts:

@NgModule({
  imports: [
    CommonModule,
    FormsModule,
    NoticesRoutingModule
  ],
  exports: [
    NoticesRoutingModule
  ],
  declarations: [
    NoticeComponent
  ],
  providers: [NoticeService]
})
export class NoticesModule { }

Mimo to, użycie z komponentu innego niż notice polecenia: router.navigate(['notices']), powoduje totalny brak reakcji. Żadnego błędu, nic.

Natomiast jeśli zamienię:

path: 'notices', loadChildren: () => NoticesModule

na:

path: 'notices', component: 'NoticeComponent'

Wszystko gra.

Także coś nie gra na poziomie mojego modułu/jego routingu. Jakieś rady? I przepraszam za te kategorie, myślałem o czymś innym.

Pomaga ustawienie w Notice.routing.ts parametru path na 'notices'. Jednak wolałbym poznać rozwiązanie w którym ten 'path' byłby jedynie 'uzupełniany' o kolejne wartości, a defaultowym początkiem miałby być ten z app.routing.

1 użytkowników online, w tym zalogowanych: 0, gości: 1