Component는 Directive의 하위 클래스로 클래스를 Angular 구성 요소로 표시하는 데 사용됩니다. 다음 기사는 각도의 @Component 데코레이터에 대한 심층적인 이해를 제공할 것입니다. 도움이 되기를 바랍니다.
@Component
데코레이터@Component
装饰器1.1 <span style="font-size: 18px;">@Component</span>
装饰器的用途
声明一个组件时,在组件类的之上要用@Component装饰器来告知Angular这是一个组件。【相关教程推荐:《angular教程》】
import { Component, OnInit } from '@angular/core'; @Component({ selector: 'app-product-alerts', templateUrl: './product-alerts.component.html', styleUrls: ['./product-alerts.component.css'] }) export class ProductAlertsComponent implements OnInit { constructor() { } ngOnInit() { } }
1.2 <span style="font-size: 18px;">@Component</span>
装饰器的常用选项
@Component
装饰器继承于 Directive
,这个css选择器用于在模板中标记出该指令,并触发该指令的实例化。
1.2.1 继承自@Directive装饰器的选项
<span 스타일 = "font-size: 18px;">@Component</span>
데코레이터의 목적angular tutorial | "]@Component({ selector: 'app-element', template: './element.component.html', styleUrls: ['./element.component.css'] }) 로그인 후 복사 로그인 후 복사 | 1.2 <span style="font-size: 18px;"> @Component</span> 데코레이터의 공통 옵션 | ||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
inputs | string[] | Angular는 변경 감지 중에 입력 속성을 자동으로 업데이트하는 데 사용됩니다. inputs 속성은 directiveProperty에서 바인딩Property를 가리키는 구성 항목 집합을 정의합니다. | ||||||||||||||||||||||||||||||||||||||
outputs | string[] | 이벤트 바인딩을 위한 출력 속성 집합입니다. 출력 속성이 이벤트를 내보내면 이벤트에 연결된 템플릿의 핸들러가 호출됩니다. 각 출력 속성은 directiveProperty를 바인딩 속성에 매핑합니다. |||||||||||||||||||||||||||||||||||||||
provides | Provider[] | 서비스 공급자 모음 |||||||||||||||||||||||||||||||||||||||
exportAs | string | 템플릿의 변수에 이 지시문을 할당하는 데 사용할 수 있는 하나 이상의 이름입니다. 이름이 여러 개인 경우 쉼표로 구분하세요. | ||||||||||||||||||||||||||||||||||||||
queries | {[key:string]:any} | 이 지시문에 삽입될 일부 쿼리를 구성합니다. 콘텐츠 쿼리는 ngAfterContentInit 콜백을 호출하기 전에 설정됩니다. 뷰 쿼리는 ngAfterViewInit 콜백을 호출하기 전에 설정됩니다. | ||||||||||||||||||||||||||||||||||||||
jit | true | true인 경우 지시문/구성 요소는 AOT 컴파일러에서 무시되므로 JIT 컴파일만 됩니다. 이 옵션은 향후 Ivy 컴파일러를 지원하기 위한 것이며 아직 효과가 없습니다. | ||||||||||||||||||||||||||||||||||||||
host | {[key:string]:string} | 키-값 쌍 세트를 사용하여 클래스의 속성을 호스트 요소(속성, 속성 및 이벤트)의 바인딩에 매핑합니다. Angular는 변경 감지 중에 호스트 속성 바인딩을 자동으로 확인합니다. 바인딩된 값이 변경되면 Angular는 지시문의 호스트 요소를 업데이트합니다. 키가 호스트 요소의 속성인 경우 속성 값은 지정된 DOM 속성으로 전파됩니다. 키가 DOM의 정적 속성인 경우 속성 값은 호스트 요소에 지정된 속성으로 전파됩니다. 이벤트 처리의 경우: | ||||||||||||||||||||||||||||||||||||||
Options | Type | Description |
---|---|---|
changeDetection | ChangeDetectionStrategy | 구성 요소가 인스턴스화되면 ular는 구성 요소 변경 사항 전파를 담당하는 변경 감지기를 만듭니다. 개별 바인딩 값에서. 전략은 다음 값 중 하나입니다. · ChangeDetectionStrategy#OnPush(0) 전략을 CheckOnce(요청 시)로 설정합니다. · ChangeDetectionStrategy#Default(1) 전략을 CheckAlways로 설정합니다. |
viewProviders | Provider[] | 뷰의 다양한 하위 노드에서 사용할 수 있는 주입 가능한 객체 세트를 정의합니다. |
moduleId | string | 이 구성 요소를 포함하는 모듈의 ID입니다. 구성요소는 템플릿과 스타일시트에 사용된 상대 URL을 확인할 수 있어야 합니다. SystemJS는 모든 모듈에서 __moduleName 변수를 내보냅니다. CommonJS에서는 module.id로 설정할 수 있습니다. |
templateUrl | string | 구성 요소 템플릿 파일의 URL입니다. 제공되는 경우 템플릿을 사용하여 인라인 템플릿을 제공하지 마세요. |
template | string | 구성 요소용 인라인 템플릿입니다. 제공된 경우 templateUrl을 사용하여 템플릿을 제공하지 마세요. |
styleUrls | string[] | 이 구성 요소의 CSS 스타일 시트가 포함된 파일을 가리키는 하나 이상의 URL입니다. |
styles | string[] | 이 구성요소에서 사용되는 하나 이상의 인라인 CSS 스타일입니다. |
animations | any[] | 일부 state() 및 Transition() 정의를 포함하여 하나 이상의 애니메이션 Trigger() 호출. |
encapsulation | ViewEncapsulation | 템플릿 및 CSS 스타일에 대한 스타일 캡슐화 전략. 값은 다음과 같습니다. · ViewEncapsulation.ShadowDom: Shadow DOM을 사용합니다. Shadow DOM을 기본적으로 지원하는 플랫폼에서만 작동합니다. · ViewEncapsulation.Emulated: shim된 CSS를 사용하여 기본 동작을 에뮬레이트합니다. · ViewEncapsulation.None: 캡슐화 없이 전역 CSS를 사용합니다. 제공되지 않은 경우 값은 CompilerOptions에서 가져옵니다. 기본 컴파일러 옵션은 ViewEncapsulation.Emulated입니다. 정책이 ViewEncapsulation.Emulated로 설정되어 있고 구성 요소가 스타일이나 styleUrls를 지정하지 않으면 자동으로 ViewEncapsulation.None으로 전환됩니다. |
interpolationol [string, string] default 기본 보간 표현식 시작 및 종료 구분 자 ({ | {{and}})entrycomponents | |
Any [] & gt; | preserveWhitespaces | |
true이면 보존되고, false이면 가능한 추가 공백 문자가 컴파일된 템플릿에서 제거됩니다. 공백 문자는 JavaScript 정규식에서 s와 일치하는 문자입니다. 컴파일러 옵션을 통해 재정의되지 않는 한 기본값은 false입니다. | 二、 |