मैं आयनिक 4 का उपयोग कर रहा हूं

मैंने अपने आवेदन को निम्नलिखित विरासत वाले पृष्ठों में संरचित किया है:

| app
  |- tabs
     |- tabs.page.ts
     |- tabs.module.ts
     |- tabs.routing.module.ts
  |- pages
     |- profile
        |- profile
           |- profile.module.ts
           |- profile.page.ts
        |- profile.module.ts
        |- profile-routing.module.ts
     |- pages.module.ts
     |- pages-routing.module.ts
  |- app.component.ts
  |- app.module.ts
  |- app-routing.module.ts

app-routing.module.ts . की सामग्री

const routes: Routes = [
  { path: '', redirectTo: 'tabs', pathMatch: 'full'},
  { path: 'tabs', loadChildren: './tabs/tabs.module#TabsPageModule', canActivate: [AuthGuardService]},
];
@NgModule({
  imports: [
    RouterModule.forRoot(routes, { preloadingStrategy: PreloadAllModules })
  ],
  exports: [RouterModule]
})
export class AppRoutingModule {}

फिर, tabs.routing.module.ts

const routes: Routes = [
  {
    path: '',
    component: TabsPage,
    loadChildren: '../pages/pages.module#PagesModule'
  }
];

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

जो आगे PagesModule और pages-routing.module.ts की सामग्री को लोड करता है

const routes: Routes = [
    { path: '', redirectTo: 'profile', pathMatch: 'full'},
    { path: 'profile', loadChildren: './profile/profile.module#ProfileModule'},
];
@NgModule({
    imports: [
        RouterModule.forChild(routes)
    ],
    exports: [RouterModule]
})
export class PagesRoutingModule {}

और profile-routing.module.ts . की सामग्री

const routes: Routes = [
    { path: '', loadChildren: './profile/profile.module#ProfilePageModule'},
];
@NgModule({
    imports: [
        RouterModule.forChild(routes)
    ],
    exports: [RouterModule]
})
export class ProfileRoutingModule {}

लेकिन आने पर

/tabs/profile

यह त्रुटि देता है:

त्रुटि त्रुटि: "पकड़ा नहीं गया (वादे में): त्रुटि: './profile/profile.module' में 'ProfilePageModule' नहीं ढूँढ सकता

{path: '', loadChildren:'./profile/profile.module#ProfilePageModule'}, को profile-routing.module.ts में { पथ से बदलना : '', घटक: ProfilePage} काम कर रहा है।

1
Anuj TBE 3 मार्च 2019, 11:01

1 उत्तर

सबसे बढ़िया उत्तर

आपके पास प्रोफ़ाइल निर्देशिका में दो "profile.module.ts" फ़ाइलें क्यों हैं? जब आप आलसी लोड करते हैं, तो सुनिश्चित करें कि आपका लोड चाइल्ड पथ उस फ़ाइल की ओर इशारा कर रहा है जिसमें "ProfilePageModule" निर्यात कर रहा है, आपकी त्रुटि को देखते हुए मैं मान रहा हूं कि आप गलत "profile.module.ts" की ओर इशारा कर रहे हैं।

मैं कहूंगा कि {पथ: '', घटक: प्रोफाइलपेज} काम कर रहा है क्योंकि यह बेसब्री से लोड हो रहा है, बिना डेमो प्रोजेक्ट के कोड की समीक्षा करने के लिए यह बताना मुश्किल है, लेकिन क्या आपने कोशिश की है:

const routes: Routes = [
    { path: '', loadChildren: './profile.module#ProfilePageModule'},
];
@NgModule({
    imports: [
        RouterModule.forChild(routes)
    ],
    exports: [RouterModule]
})
export class ProfileRoutingModule {}
1
Jay Ordway 4 मार्च 2019, 08:04