angular - 数组最佳实践中的 Angular 模板驱动表单
问题描述
我需要使用模板驱动表单动态生成的表中的多个表单,它的工作方式与我一样,但我不确定它是否正确。
<div *ngFor="let row of rows">
<form #f="ngForm" (submit)="submit(f)">
...
</form>
</div>
将#f
被定义很多次,我想知道这是否会导致问题?我最终可以给出一个动态命名(如果可能的话?),但由于它是这样工作的,我不想让它过于复杂。
解决方案
这不会是一个问题,因为每个表单标签都会有不同的上下文。动态创建模板引用变量是不可能的。
如果你不喜欢有模板引用变量,你可以拥有当前表单的索引并使用 ViewChildren 查询它。
template:
<div *ngFor="let row of rows; let i=index">
<form (submit)="submit(i)">
...
</form>
</div>
Component:
@ViewChildren('div > form') forms: Array<NgForm>;
submit(index: number){
var currentForm:NgForm = forms[index];
}
推荐阅读
- reactjs - 使用 reactn 时为令牌包装 fetch 函数
- android - Android 发布 apk commond 无法在颤振中工作
- python - matplotlib 中的指数项间距
- bootstrap-4 - 引导表页面刷新问题
- python - 从文本文件中提取步骤并使用 Python 放入列表中
- json - 使用 Jsr223 前/后处理器在 Jmeter 中构建 json 有效负载
- c++ - _writeBarrier() 的弃用
- r - 为什么 sub() 和 gsub() 有相同的结果?
- clojure - 多页应用的试剂配置
- mysql - Liquibase 3.8 用引号插入 tinyint 值