2016-09-20 4 views
0

Ich bekomme einen Fehler, dass 'PatternList' (welches eine von mir erstellte Schnittstelle ist) nicht gefunden wird. Wenn ich versuche, es zu importieren, erhalte ich einen Fehler, dass PatternDetails kein Modul ist. Ich bin mir nicht sicher, was diesen Fehler verursacht. Dieser Fehler trat auf, als ich versuchte, Webpack in meinem angular2-Projekt zu konfigurieren.Angular 2 final release: Kann den Namen 'PatternDetails' nicht finden

Hier ist eine meiner Komponenten, die PatternDetails-Schnittstelle verwendet:

@Component({ 
    selector: 'pattern-detail', 
    template: ` 
    <div class="pattern-detail" [ngClass]='{active: metadata.status.backendValidationStatus == "FAIL", 
     unactive: metadata.status.backendValidationStatus == "OK", 
     warning: metadata.status.backendValidationStatus == "WARN", 
     selected: metadata.selected 
    }' (click)="patternClicked(metadata)"> 
     <div class="name-details"> 
     <h3>{{metadata.displayName}}</h3> 
     <p>{{metadata.details}}</p> 
     </div> 
     <div class="time-details"> 
     <p class='last_update'>{{metadata.lastupdate}}</p> 
     </div> 
    </div> 
    `, 
    styleUrls: ['/css/pattern_detail.css'] 
}) 
export class PatternDetailComponent { 

    @Input() metadata:PatternDetails; 
    @Output() selectPattern = new EventEmitter<PatternDetails>(); 

    patternClicked(pattern: PatternDetails) { 
    this.selectPattern.emit(pattern); 
    } 

} 

Hier ist die PatternDetails Schnittstelle:

interface PatternDetails { 
    patternClass: string; 
    version: string; 
    id: string; 
    displayName: string; 
    lastupdate: string; 
    details: string; 
    status: Status; 
    selected: boolean; 
} 

Ich bin mir nicht sicher, was sollte ich sonst noch enthalten, aber nach meiner Untersuchung Ich habe festgestellt, dass es möglicherweise ein Problem mit tsconfig.json gibt, also schließe ich es ebenfalls an:

app.module.ts

@NgModule({ 
    imports: [ BrowserModule, FormsModule, HttpModule, ReactiveFormsModule ], 
    declarations: [ AppComponent, PatternListComponent, PatternDetailComponent, WidgetListComponent, 
    FormComponent, DefaultWidget, LabelComponent, CheckboxWidget ], 
    bootstrap: [ AppComponent ], 
    providers: [ WidgetService ] 
}) 
export class AppModule { } 
+0

Post 'AppModule'. –

+0

fertig :) Ich hoffe es hilft –

Antwort

1

Sie benötigen eine Schnittstelle exportieren:

export interface PatternDetails { 

... 

} 
+0

Es gibt mir den gleichen Fehler, jetzt auch in AppModule. –

+0

@ZolcsakTamas Überprüfen Sie meine bearbeitete Antwort, Sie haben Ihre Schnittstelle nicht exportiert, daher können Sie sie nicht importieren. –

+0

Hinzufügen von Export zu der Schnittstelle funktioniert :) Aber ich musste nicht hinzufügen, PatternDetails zu AppModule, es funktioniert nur durch Hinzufügen von Export zu der Schnittstelle. Danke: D –

Verwandte Themen