이 글에서는 Angular 구성 요소 상호 작용에 대해 자세히 소개합니다. 도움이 필요한 친구들이 모두 참고할 수 있기를 바랍니다.
컴포넌트 상호 작용: 컴포넌트 통신을 통해 두 개 이상의 컴포넌트가 정보를 공유할 수 있습니다.
사용 시나리오: 특정 기능이 여러 구성 요소에서 사용되는 경우 특정 기능은 하위 구성 요소에 캡슐화될 수 있으며 특정 작업 또는 워크플로는 하위 구성 요소에서 처리될 수 있습니다.
상호작용 방법:
@Input
및 @Output
데코레이터를 통해 상호작용합니다. @Input
和@Output
装饰器进行交互。服务
서비스
를 통해 상호작용합니다. 【관련 추천: "angular Tutorial
"】
입력 바인딩을 통해 상위 컴포넌트에서 하위 컴포넌트로 데이터 전송.
입력 속성은 @Input 데코레이터를 사용하여 설정 가능한 속성입니다.
import { Component, Input } from '@angular/core'; @Component({ selector: 'app-selector', template: ` // 模板代码 ` }) export class TestComponent { @Input() hero: Hero; @Input('master') masterName: string; }
<app-hero-child *ngFor="let hero of heroes" [hero] = "hero" [master] = "master"> </app-hero-child>
export class TestComponent { @Input() set name(name: String) { // 逻辑处理 } }
OnChanges 수명 주기 후크 인터페이스의 ngOnChanges() 메서드를 사용하여 입력 속성 값의 변경 사항을 수신하고 응답합니다. 참고:
import { Component, Input, OnChanges, SimpleChange } from '@angular/core'; @Component({ selector: 'app-version-child', template: ` // 模板代码 ` }) export class ChildComponent implements OnChanges { @Input() major: number; @Input() minor: number; ngOnChanges(changes: { [propKey: string]: SimpleChange }) { for (let propName in changes) { // propName为输入属性的名字 let changedProp = changes[propName]; // changedProp为SimpleChange对象 // 其它代码 } } }
/** * Represents a basic change from a previous to a new value for a single * property on a directive instance. Passed as a value in a * {@link SimpleChanges} object to the `ngOnChanges` hook. * * @see `OnChanges` * * @publicApi */ export declare class SimpleChange { previousValue: any; currentValue: any; firstChange: boolean; constructor(previousValue: any, currentValue: any, firstChange: boolean); /** * Check whether the new value is the first value assigned. */ isFirstChange(): boolean; }
의 관련 부분을 참조하세요. 더 많은 프로그래밍 관련 지식을 보려면 프로그래밍 입문
을 방문하세요! ! 🎜위 내용은 Angular의 구성 요소 상호 작용에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!