2016-11-10 3 views
5

Ich bin Anfänger in Angular 2 und benutze die finale Version von Angular 2. Ich habe ein seltsames Problem damit. das ist mein databinding.component.ts Code:Angular 2 Error ('directions' existiert nicht im Typ 'Component')

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] 
}) 

und dies ist ein Frieden meines 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 
    ] 

Dieser Code nicht richtig funktioniert:

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'. 

Was soll ich tun?!?!

+0

Mögliche Kopie von [Angular2 Version RC.6 "Direktiven" innerhalb @Component Error] (http://stackoverflow.com/questions/39410591/angular2-version-rc-6-directives-inside-component-error) – Fiddles

Antwort

12

directives wurde aus der Komponente entfernt. Siehe die folgenden: https://stackoverflow.com/a/39410642/5487673

Die Lösung für das Problem ist einfach das Attribut directives aus Ihrer Komponente zu entfernen. Solange die unter directives aufgeführten Komponenten auf der Ebene NgModule deklariert sind, sollten Sie Recht haben.

+1

Danke, Simon :-) –

+1

Wenn Sie diese Antwort hilfreich finden, akzeptieren Sie sie, indem Sie auf die Schaltfläche ✓ Häkchen klicken. –

+0

Ich habe das gleiche für "Bindungen", vielleicht die Alternative, anstatt uns mit leeren Händen zu verlassen. – tatsu

0

Ich traf diesen Fall und löste. Als Direktiven müssen Sie sie nicht importieren und an bestimmte Komponenten anschließen. Sie könnten sie so verwenden.

Importieren Sie sie zuerst auf der app.module.ts. Zweitens fügen Sie importierte Direktive in Deklarationen hinzu. Dann würden sie arbeiten.