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

Posted

技术标签:

【中文标题】Angular - 如何将数据从一个组件传递到另一个【英文标题】:Angular - how to pass data from a component to another 【发布时间】:2021-07-08 15:11:53 【问题描述】:

我正在尝试对我的数据表实施数据过滤。我已经使用 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,它负责在表中显示数据。我不知道如何将 FormComponent 中包含的信息提供给该组件。我尝试定义 FormComponent 类型的属性,但它显然与我想要获取的信息没有关联。

export class SequencesComponent

...

  datiForm!: FormComponent;

...

【问题讨论】:

【参考方案1】:

您可以使用@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

  


【讨论】:

以上是关于Angular - 如何将数据从一个组件传递到另一个的主要内容,如果未能解决你的问题,请参考以下文章

在 Angular 中,当组件不是父/子时,如何将值从一个组件传递到另一个组件?

将数据从一个组件传递到另一个 Angular 2

将数据从一个组件传递到另一个 Angular 2 时的服务变量

将 API 数据从一个组件传递到另一个组件?

使用使用 Angular 6 的服务将 JSON 文件从一个组件传递到另一个组件

Angular5:将变量从一个组件传递到另一个打字稿文件