簡體   English   中英

角度2:Routerlink無法在標頭組件中工作

[英]Angular 2: Routerlink not working in header component

我有一個具有以下設置的RC5應用程序:

main.ts:

// Dynamic (JIT) compiler
import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';

// Our main app module
import { AppModule } from './app.module';

// Compile and launch the module
platformBrowserDynamic().bootstrapModule(AppModule);

app.module.ts:

@NgModule({
  imports: [BrowserModule, routing, SharedModule.forRoot()],
  declarations: [AppComponent, ErrorComponent],
  bootstrap: [AppComponent]
})
export class AppModule {}

shared.module.ts:

@NgModule({
    imports: [CommonModule, HttpModule],
    declarations: [TranslatePipe, DateToStringPipe, HeaderComponent],
    exports: [TranslatePipe, DateToStringPipe, CommonModule, FormsModule, ReactiveFormsModule, HeaderComponent]
})

export class SharedModule {

    static forRoot(): ModuleWithProviders {

        return {
            ngModule: SharedModule,
            providers: [
                FeedbackService,
                CookieService,
                AuthService,
                LoggerService,
                RouteGuard,
                {
                  provide: TranslateLoader,
                  useFactory: (http: Http) => new TranslateStaticLoader(http, 'app/languages', '.json'),
                  deps: [Http]
                },
                TranslateService,
                SearchService,
                SharedComponent,
                HeaderComponent
            ]
        };

    }

}

@NgModule({
    exports: [SharedModule],
    providers: []
})
export class SharedRootModule {}

我使用<router-outlet></router-outlet>來顯示應用程序中的每個模塊,並且工作正常。

但是我不能在HeaderComponent使用“ routerlink”。 如果將標記移到AppComponent它將起作用,因此沒有標記問題。

<router-outlet>加載的所有其他組件都可以使用“ routerlink”。

HeaderComponent我在做什么錯?

RouterLink不屬於CommonModule,但屬於Angular的RouterModule,必須先導入該模塊,然后才能使用它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM