web-dev-qa-db-fra.com

Erreur: Le module 'DatePickerModule' inattendu a été déclaré par le module 'AppModule'. Veuillez ajouter une annotation @ Pipe/@ Directive/@ Component

Je souhaite utiliser DatePickerModule of Angular dans mon application. J'ai donc installé le paquet comme suit: npm install ng2-datepicker-bootstrap --save 

L'installation a réussi. Alors maintenant, j'ai importé le module DatePickerModule dans mon AppModule comme indiqué ci-dessous:

import { DatePickerModule } from 'ng2-datepicker-bootstrap';

@NgModule({

  declarations: [
    other Components......,
    DatePickerModule
  ],
  imports: [
    ........
  ],
  providers: [Service, DatePickerModule],
  bootstrap: [AppComponent]
})

export class AppModule { }

Ensuite, utilisez le code ci-dessous dans le fichier info.component.html .

<datepicker [(ngModel)]="model.firstDate" [viewFormat]="'DD/MM/YYYY'" [modelFormat]="'YYYY-MM-DD'"  [id]="'firstDate'" [label]="'To'"></datepicker> 

Mais lorsque j'ai lancé le projet, j'ai eu l'erreur suivante: Erreur: module 'DatePickerModule' inattendu déclaré par le module 'AppModule'. Ajoutez une annotation @ Pipe/@ Directive/@ Component.

Au fait, je suis nouveau sur Angular2.

6
wal

Pourquoi mettez-vous votre DatePickerModule dans les fournisseurs. Seuls les services doivent y être insérés angulaire pour créer l’instance du service lors du démarrage de l’application.

1
Usman Hussain

Recherchez la référence manquante dans l'instruction d'importation dans le fichier module.ts. Si vous avez dans votre composant:

import { DatePickerModule,SomeOtherModule } from 'somewhere';

dans le fichier module.ts, vous devez avoir la même importation

import { DatePickerModule,SomeOtherModule } from 'somewhere';

Si vous avez seulement 

import { DatePickerModule } from 'somewhere';

ou si vous n'avez pas l'instruction d'importation , cette erreur sera renvoyée car vous n'avez pas ajouté "SomeOtherModule" à l'instruction d'importation.

0
Pavel Aslanov