angular - 如何引用 templateurl 中使用的类?
问题描述
我在一个项目中使用角度,我有一个组件,它是一个由多个输入组成的表单。我已经在它们自己独特的组件中分别实现了这些输入,并且在每个组件中都有一个返回用户给出的数据的函数。它看起来像这样:
<mat-card>
<app-phone></app-phone>
</mat-card>
<mat-card>
<app-address></app-address>
</mat-card>
<mat-card>
<app-city></app-city>
</mat-card>
我想在我的打字稿文件中使用这些类,以便通过它们的函数检索数据。我已经尝试在构造函数中包含这些类,但它没有用。这是制作通用组件的正确方法吗?如果是这样,我该怎么做?
解决方案
您可以使用反应式表单方法来代替访问子组件方法:
formGroup
在你的父类中创建一个说
父.ts
parentForm : FormGroup
然后将其作为 an 传递input
给每个child
组件。所以你必须创造
应用地址.ts, 应用电话.ts ....
@Input() formGroup : FormGroup
在每个子组件中。您还可以在每个子组件中创建另一个@Input formControlName : string
,然后将各自form control name
作为输入字符串component
从父组件传递给每个子组件。有了这个,你可以在你的父组件本身中操作整个form
,而不用担心子组件的方法。
<mat-card>
<app-phone [formGroup]="parentForm" [formControlName]="'phone'"></app-phone>
</mat-card>
<mat-card>
<app-address [formGroup]="parentForm" [formControlName]="'address'"></app-address>
</mat-card>
推荐阅读
- reporting-services - 将 SSRS 报告导出到 Excel 后命名工作表
- django - 在 Django 表单中设置隐藏字段的值
- vue.js - 我可以在 HTML 标记之外使用 v-if 和 v-for 吗?
- android - RecyclerView 在加载时不显示任何项目视图
- laravel - 我如何将此值存储到数据库
- java - Java调用方法
- ios - 苹果统一日志——如何获取文件名和行号
- amazon-web-services - 如何以编程方式将由 elastic-beanstalk 创建的自动缩放组的运行状况检查类型设置为 ELB?
- groovy - 如何将 groovyx.net.http.HttpResponseDecorator 转换为用户定义的类
- ios - IOS Native UI可以在游戏中使用吗