Angular - 如何将数据从一个组件传递到另一个组件

Angular - how to pass data from a component to another

我正在尝试对我的数据实施数据过滤-table。我已经使用 ngModel 设置了一些表单,以便在我在表单中写入时填充 FormComponent 属性。例如,如果我以 sequenceId 形式编写,sequenceId 属性 将获得该值。

export class FormComponent implements OnInit {

  constructor() { }

  panelOpenState = false;
  formGroup!: FormGroup;

  sequenceId!: string;
  asOrigin!: number;
  prefix!: string;
  suffix!: number;
  collectorIp!: string;
  collectorAsn!: string;
  durationGreater!: number;
  durationSmaller!: number;
  startDate!: Date;
  endDate!: Date;
  updates!: number;
  withdraws!: number;
  announces!: number;

...
}

为了处理过滤,我试图将此值赋予 SequenceComponent,它负责在 table 中显示数据。我不知道如何将 FormComponent 中包含的信息提供给该组件。我已经尝试定义一个类型为 FormComponent 的 属性,但它显然没有链接到我试图获取的信息。

export class SequencesComponent{

...

  datiForm!: FormComponent;

...
}

您可以使用 @ViewChild 获取对子组件的引用,然后检索对您想要的字段的引用

export class SequencesComponent{

    @ViewChild(FormComponent)
    private formComponent: FormComponent; 

  public someMethod(){
    this.formComponent.formGroup  <---- will give you a reference to the form of the child component

  }

}