web-dev-qa-db-fra.com

Erreur angulaire 2 (les 'directives' n'existent pas dans le type 'Composant')

Je suis débutant dans Angular 2 et j'utilise la version finale de Angular 2. J'ai un étrange problème avec cela . C'est mon databinding.component.ts code:

import { Component } from '@angular/core';

import {PropertyBindingComponent} from './property-binding.component';
import {EventBindingComponent} from './event-binding.component';


@Component({
  selector: 'fa-databinding',
  templateUrl: 'databinding.component.html',
  styleUrls: ['databinding.component.css'],
  directives: [PropertyBindingComponent, EventBindingComponent]
})

et ceci est une paix de mon app.module.ts code:

import { PropertyBindingComponent } from './databinding/property-binding.component';
import { EventBindingComponent } from './databinding/event-binding.component';

@NgModule({
  declarations: [
    AppComponent,
    OtherComponent,
    AnotherComponent,
    DatabindingComponent,
    PropertyBindingComponent,
    EventBindingComponent
  ]

Ce code ne fonctionne pas correctement:

ERROR in [default] /home/tornado/work/first-app/src/app/databinding/databinding.component.ts:11:2 
Argument of type '{ selector: string; template: any; styles: any[]; directives: (typeof PropertyBindingComponent | ...' is not assignable to parameter of type 'Component'.
  Object literal may only specify known properties, and 'directives' does not exist in type 'Component'.

Que devrais-je faire?!?!

9
Mahdi Ta

directives a été supprimé du composant . Consultez les éléments suivants: https://stackoverflow.com/a/39410642/5487673

La solution au problème consiste simplement à supprimer l'attribut directives de votre composant. Tant que les composants énumérés sous votre attribut directives sont déclarés au niveau NgModule, vous devriez avoir raison.

15
Simon K

J'ai rencontré ce cas et résolu… .. En tant que directives, vous n'avez pas besoin de les importer et de les connecter à un composant spécifique. Vous pouvez les utiliser comme ceci.

Tout d’abord, importez-les sur le fichier app.module.ts . Deuxièmement, ajoutez la directive importée dans les déclarations .

0
smartworld-dm