bha*_*anu 5 twitter-bootstrap twitter-bootstrap-3 angular2-routing angular
我在我的 angular 4 项目中使用 bootstrap3。我有一个 DashboardComponent,其中包含一个导航菜单。我将一条路线声明为
{path: 'dashboard', loadChildren: 'app/dashboard/dashboard.module#DashboardModule'}
Run Code Online (Sandbox Code Playgroud)
在路由模块和引导程序导航菜单中未正确显示。如果我将路由配置更改为
{path: 'dashboard', component: DashboardComponent}
Run Code Online (Sandbox Code Playgroud)
那么它的工作正常。
以下是工作和非工作情况的屏幕截图。我能解决什么问题?
dashboard-routing.module.ts
export const dashboardRoutes: Route[] = [
{
path: '',
component: DashboardComponent,
children: [
{ path: 'home', component: HomeComponent },
{ path: 'dispatches', component: DispatchesComponent },
{ path: '', component: HomeComponent }
]
}
]
@NgModule({
imports: [
RouterModule.forChild(dashboardRoutes)
],
exports: [RouterModule]
})
export class DashboardRoutingModule { }
Run Code Online (Sandbox Code Playgroud)
这里是 dashboard.component.html
<div class="wrapper">
<div class="sidebar" data-color='red' data-image="" style="overflow: hidden;">
<sidebar-cmp></sidebar-cmp>
<div class="sidebar-background" style="background-image: url(../assets/img/sidebar-4.jpg)"></div>
</div>
<div class="main-panel">
<navbar-cmp></navbar-cmp>
<router-outlet></router-outlet>
<footer-cmp></footer-cmp>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
这是我的 app.module.ts
import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
import { RouterModule } from '@angular/router';
import { HttpModule } from '@angular/http';
import { AppComponent } from './app.component';
import { CustomMaterialModule } from './modules/custom-material.module';
import { AppRoutingModule } from './app-routing.module';
import { LoginComponent } from './login/login.component';
@NgModule({
imports: [
BrowserModule,
BrowserAnimationsModule,
CustomMaterialModule,
AppRoutingModule,
],
exports: [CustomMaterialModule],
declarations: [ AppComponent ],
providers: [],
entryComponents: [],
bootstrap: [ AppComponent ]
})
export class AppModule { }
Run Code Online (Sandbox Code Playgroud)
app-routing.module.ts
import { NgModule } from '@angular/core';
import { Routes, RouterModule } from '@angular/router';
import { LoginComponent } from './login/login.component';
const routes: Routes = [
{
path: '',
redirectTo: 'dashboard',
pathMatch: 'full'
},
{
path: 'dashboard',
loadChildren: 'app/dashboard/dashboard.module#DashboardModule',
},
{
path: 'login',
component: LoginComponent,
}
];
@NgModule({
imports: [RouterModule.forRoot(routes)],
exports: [RouterModule],
providers: []
})
export class AppRoutingModule { }
Run Code Online (Sandbox Code Playgroud)
dashboard.module.ts
import { NgModule } from '@angular/core';
import { RouterModule } from '@angular/router';
import { CustomMaterialModule } from './../modules/custom-material.module';
import { CommonModule } from '@angular/common';
import { SidebarModule } from './../sidebar/sidebar.module';
import { FooterModule } from './../shared/footer/footer.module';
import { NavbarModule} from './../shared/navbar/navbar.module';
import { MODULE_COMPONENTS } from './dashboard-routing.module';
import { DashboardComponent } from './dashboard.component';
import { DispatchesModule } from './dispatches/dispatches.module';
import { TransactionsModule } from './transactions/transactions.module';
import { DashboardRoutingModule } from './dashboard-routing.module';
@NgModule({
imports: [
CommonModule,
CustomMaterialModule,
DispatchesModule,
TransactionsModule,
SidebarModule,
NavbarModule,
FooterModule,
DashboardRoutingModule,
],
exports: [CustomMaterialModule],
declarations: [ DashboardComponent, MODULE_COMPONENTS ]
})
export class DashboardModule{}
Run Code Online (Sandbox Code Playgroud)