2016-09-04 5 views
4

Ich habe meine Bewerbung von angular2 RC5 RC6 nur aktualisiert, und ich habe immer noch Fehler bei den SelektorenUpgrade-Anwendung Angular2 RC6

diese Konsole ist

> Unhandled Promise rejection: 
> 
> Template parse errors: 'time-filter' is not a known element: 
> 1. If 'time-filter' is an Angular component, then verify that it is part of this module. 
> 2. If 'time-filter' is a Web Component then add "CUSTOM_ELEMENTS_SCHEMA" to the '@NgModule.schema' of this component 
> to suppress this message. ("<div> [ERROR 
> ->]<time-filter></time-filter> 

und das ist mein Komponentencode:

@Component({ 
    selector: 'time-filter', 
    templateUrl: '../app/shared/time-filter/time-filter.html', 
    providers: [TimeService] 
}) 

export class TimeFilter implements OnInit 
{..} 

und das ist, wie ich es nennen

import { Component, NgModule,SchemaMetadata } from '@angular/core'; 
import {TimeFilter} from '../shared/time-filter/time-filter.component'; 

@Component({ 
    template: `<div> 
       <time-filter></time-filter> 
     </div> 
` 

}) 
@NgModule({ 
     declarations: [TimeFilter] 
}) 

Antwort

5

In @Component, fügen Sie selector hinzu und definieren Sie dieselbe Komponente in Deklarationen von @NgModule.

erstellen AppComponent wie this-

import { Component } from '@angular/core'; 
import { TimeFilter } from '../shared/time-filter/time-filter.component'; 

@Component({ 
selector: 'my-app', 
template: `<div> 
      <time-filter></time-filter> 
     </div> 
` 
}) 

und erklären dann beide Komponenten in AppModule wie this-

@NgModule({ 
    imports: [BrowserModule], 
    declarations: [AppComponent, TimeFilter] 
    bootstrap: [AppComponent] 
}) 
export class AppModule { } 

Auch, @component und @ngmodule in einzelne Datei nicht mischen. Definieren Sie eine Sache (z. B. Service oder Komponente) pro Datei. Siehe winkel2 style guide

Sehen Sie, ob dies hilft.

+0

danke Sanket funktioniert es gut für mich ... Sie sind ein Lebensretter –

3

Beachten Sie auch, dass in RC6 abgewinkelt die Direktiven und Pipes von @ Komponent (also sollten Sie diese auf das obere Modul verschieben). Sie können mehr darüber hier lesen https://github.com/angular/angular/commit/4a740f2

+0

Danke für den Tipp! –

Verwandte Themen