2017-07-03 45 views
1

在文件app.component.ts第1行 從'angular/core'導入{Component}; 我一直無法找到文件夾中組件的實現。在angular4中,@ angular/core中的組件實現在哪裏?

+0

這裏:https://github.com/angular/angular/blob/master/packages/core/src/metadata/directives.ts#L479 –

+0

感謝@HarryNinh –

+0

@HarryNinh這不是一個實現,而是一個接口。檢查[我的答案](https://stackoverflow.com/a/44877931/2545680)。 –

回答

0

裝飾Component的實施是由兩個部分組成:

makeDecorator function - 這其中主要功能被實現,特別是限定在類的元數據:

const TypeDecorator: TypeDecorator = <TypeDecorator>function TypeDecorator(cls: Type<any>) { 
    const annotations = Reflect.getOwnMetadata('annotations', cls) || []; 
    annotations.push(annotationInstance); 
    Reflect.defineMetadata('annotations', annotations, cls); 
    return cls; 
}; 

component decorator properties,其定義了默認Component裝修工特性:

export const Component: ComponentDecorator = <ComponentDecorator>makeDecorator(
    'Component', { 
     selector: undefined, 
     inputs: undefined, 
     outputs: undefined, 
     host: undefined, 
     exportAs: undefined, 
     moduleId: undefined, 
     providers: undefined, 
     viewProviders: undefined, 
     changeDetection: ChangeDetectionStrategy.Default, 
     ... 

您可能需要閱讀文章Implementing custom component decorator in Angular

+0

必須是評論 – Aravind

+0

是什麼讓你這麼想?我現在要編輯和添加更多信息 –

+0

這兩個帖子你的答案都沒有'code'。 – Aravind