html - 在组件中引用 ngFor 值
问题描述
我有一个嵌套ngFor
语句。我需要ngFor
在按钮单击时检索我的第一个值。
我尝试了以下方法:
- 使用模板引用变量
- 使用属性绑定
- 使用输入装饰器
这是我的代码:
<mat-expansion-panel *ngFor="let item of Datasource;">
<mat-expansion-panel-header style="display:flex" class="mat-row">
{{item.Header}}
</mat-expansion-panel-header>
<mat-selection-list [(ngModel)]="selectedOptions">
<mat-list-option *ngFor="let line of item.match; let i= index;" [value]="line">
<div class="container-name">
<div class="col-6">{{i}} - {line.user.Name }} vs {{ line.user.Address }}</div>
</mat-list-option>
</mat-selection-list>
<div style="text-align:center; padding: 20px">
<button mat-raised-button color="primary" (click)="submit()" type="submit">Add</button>
</div>
</mat-expansion-panel>
这可以实现吗?
解决方案
好吧,您需要先克隆该对象属性。由于该对象链接到模板,当您操作它时,它也在模板上被操作。您可以使用var obj = Object.assign({}, actual obj)
然后对 obj 进行操作,而不是实际操作。然后它不会在模板中受到影响。希望能帮助到你。
推荐阅读
- python - python将包运送到远程机器并从内存中导入
- java - Firebase shuffle 不起作用
- javascript - 创建 Boggle 游戏 - 将坐标与字母联系起来
- sql - SQL 选择语句,其中一门课程多于另一门课程
- c - 传递给函数的变量是否存储在连续的内存位置?
- android - 在需要括号的方法之后,Kotlin 中尖括号的目的是什么?
- r - 用R中的另一个列表匹配和替换列表中的字符串
- model-view-controller - Ember:将数据保存到后端的公认范式是什么?
- bluetooth - 我可以仅使用 GATT 特征读取数据,还是我也需要 GATT 服务?
- angularjs - 如何在 AngularJS 中将 $http 数据从服务传递到控制器