2017-07-17 2 views
1

Wenn ich drei Module habenWas den Umfang eines Winkelmoduls ist Import

  1. AppModule
  2. SharedModule
  3. ItemModule

Im Inneren des SharedModule habe ich eine PaginatorComponent, die wie folgt ausgeführt wird :

shared.module.ts

import { NgModule } from '@angular/core'; 
import { CommonModule } from '@angular/common'; 

import { PaginatorComponent } from './paginator/paginator.component'; 

@NgModule({ 
    imports: [ 
     CommonModule 
    ], 
    declarations: [ 
     PaginatorComponent 
    ], 
    providers: [], 
    exports: [ 
     PaginatorComponent 
    ] 
}) 
export class SharedModule { } 

ich importieren dann das gemeinsame Modul in meine AppModule

app.module.ts

import { SharedModule } from './shared/shared.module'; 

imports: [ 
     ... 
     SharedModule, 
     ... 

Frage die Linien verwendet wird; Sollte mein drittes "ItemModule" automatisch Zugriff auf die PaginatorComponent haben oder muss ich direkt in das 3. Modul importieren? Zur Zeit erhalte ich eine Variation des generischen Fehlers:

Can't bind to 'totalItems' since it isn't a known property of 'app-paginator'. 
1. If 'app-paginator' is an Angular component and it has 'totalItems' input, then verify that it is part of this module. 

Vielen Dank.

+1

Kann das helfen? https://medium.com/cyrilletuzi/understanding-angular-modules-ngmodule-and-theirs-scopes-81e4ed6f7407 – Rama

+0

danke! Hatte die Antwort. – prime

Antwort

2

Das ist etwas, was ich falsch verstanden, wenn ich Angular gestartet 2 +/

Sie müssen jede Komponente, die Sie in jedem Modul verwenden, um erneut zu importieren.

Mit Ihnen Beispiel, wenn Sie PaginatorComponent in Ihre ItemModule verwenden müssen, müssen Sie SharedModule in Ihre ItemModule importieren, damit es funktioniert. (da SharedModule PaginatorComponent exportiert)

Dies ist bei Services/Providern nicht der Fall. Wenn Sie einen Dienst injizieren, kann jede untergeordnete Komponente darauf zugreifen.

Verwandte Themen