angular - 使用 ngModelGroup 而不重复 div 标签
问题描述
我有一个看起来像这样的表格(请注意,这只是一个示例):
<input type="checkbox">
<input type="text"><br>
<input type="checkbox">
<input type="text"><br>
<input type="checkbox">
<input type="text">
的ngModelGroup
所有text
领域是request
。的ngModelGroup
所有checkbox
领域是important
。
为了实现我的目标,我可能会做这样的事情:
<div ngModelGroup="important">
<input type="checkbox">
</div>
<div ngModelGroup="request">
<input type="text"><br>
</div>
<div ngModelGroup="important">
<input type="checkbox">
</div>
<div ngModelGroup="request">
<input type="text"><br>
</div>
<div ngModelGroup="important">
<input type="checkbox">
</div>
<div ngModelGroup="request">
<input type="text"><br>
</div>
好吧,这不是最好的解决方案。有没有办法在不多次打开和关闭 div 标签的情况下做到这一点?
如果我可以只创建一次 div 标签并使用属性来分配它们,那就太好了。那可能吗?
解决方案
更新:
一般来说,您可以使用此方法。您可以在 ts 文件中添加一个变量作为对象数组并对其进行循环。
tableData = [{
rowClass: 'my-row-class1',
colClass: 'my-col-class1',
value: 'myValue1'
},
{
rowClass: 'my-row-class2',
colClass: 'my-col-class2',
value: 'myValue2'
},
{
rowClass: 'my-row-class3',
colClass: 'my-col-class3',
value: 'myValue3'
}];
然后在模板中:
<ng-container *ngFor="let data of tableData">
<row [ngClass]="data.rowClass">
<col [ngClass]="data.colClass">
{{data.value}}
<col>
</row>
</ng-container>
旧答案
您可以使用NgFor
循环。虽然它需要一个数组来循环,但您可以像这样使用它:
<ng-container *ngFor="let i of [].constructor(3)">
<div ngModelGroup="important">
<input type="checkbox">
</div>
<div ngModelGroup="request">
<input type="text"><br>
</div>
</ng-container>
如果您需要为每个组设置特定的属性,您可以在 ts 文件中初始化一个数组,并在 NgFor 的模板中使用来循环它们。
注意:使用不带变量的 NgFor 进行迭代取自此处
推荐阅读
- c# - Entity Framework 6 - DataReader 保持连接打开
- arrays - 将元素从 Array1 更改为 Array2,反之亦然
- ios - 尝试使用 URLsession 从 DataTask 创建图像不起作用
- python-3.x - 自动化 Python 3 (PyQt5) 中的重复代码
- git - Git push origin head 在 ubuntu 18.04 上不起作用
- discord.py-rewrite - Discord.py 建议命令
- android - 片段测试错误:android.view.InflateException: Binary XML file line #16: Binary XML file line #16: Error inflating class
- pull-request - 代码审查的主要考虑因素是什么?
- javascript - 当组件获得焦点或在angularjs中单击时,如何将类添加到容器中?
- json - 使用 jq 根据标签过滤 AWS 资源