Angular4多个模块问题

时间:2018-02-20 20:21:44

标签: angular

我有一个应用程序,它有多个视图,如导航和页面。所以我添加了一个布局模块并将该模块导入主模块&现在尝试在app组件中使用布局模块导航组件。所以这应该显示navigation.html内容,但它将变为空白。它也没有给出任何错误。不确定我做错了什么。以下是我的代码,将提供正确的图片: 这是app.model.ts

    

    import { BrowserModule } from '@angular/platform-browser';
    import { NgModule } from '@angular/core';
    import { AppRoutingModule } from './app-routing.module';
    import { AppComponent } from './app.component';
    import { LayoutsModule } from './layouts/index';

    @NgModule({
      declarations: [
        AppComponent
      ],
      imports: [
        BrowserModule,
        LayoutsModule,
        AppRoutingModule
      ],   
      providers: [],
      bootstrap: [AppComponent]
    })
    export class AppModule { }

这是LayoutsModule

   

    import { NgModule } from '@angular/core';
    import { NavigationComponent } from './navigation/navigation.component';


    @NgModule({
      declarations: [
        NavigationComponent
      ],
      exports: [

      ],
      imports: [

      ],
      providers: [

      ]
    })
    export class LayoutsModule {}

和我的app.component.html

 

    <app-navigation></app-navigation>
    <router-outlet></router-outlet>

2 个答案:

答案 0 :(得分:3)

您应该从NavigationComponent导出LayoutsModule,以便LayoutsModule可以使用component。基本上无论你希望暴露给Angular中的另一个模块/系统使用什么,你必须将directive / pipe / exports置于NgModule元数据route内。 1}}或者更确切地说,它可以通过Angular Router的@NgModule({ declarations: [ NavigationComponent ], exports: [ NavigationComponent ], imports: [], providers: [] }) export class LayoutsModule {} 段加载。

matrix2D

不确定为什么没有收到错误。它应该抛出一个错误。

答案 1 :(得分:1)

您需要将4.0.4.403061554中要用于其他模块的组件导出:

LayoutModule

有关共享模块的更多信息:https://angular.io/guide/sharing-ngmodules