<mat-select placeholder="{{placeholder}}" [compareWith]="compareValues" (selectionChange)="selectionChanged($event)">
      <mat-option #matOption *ngFor="let item of itemsList | async" [value]="item['{{value}}']">
        {{item.Name}}
      </mat-option>
    </mat-select>项目{{value}}
如何将动态属性绑定到ngFor。例如:我想在一分钟内绑定item.Name,但在不同的情况下绑定item.Value。
发布于 2019-01-26 22:37:13
我猜想还有更多的方法,但我通常做以下几点:
<option *ngFor="let option of options; let i = index" [value]="option[this.field]">
  Option {{i}}
</option>this关键字可以排除在大多数版本的角,但可能不是在旧的版本。测试的角度6,它工作良好,没有this关键字:[value]="option[field]"__。
注意,您实际上不需要插值,这里我只需要一个option对象并读取特定的键,它作为字符串存储在field类属性中。例如,如果field类属性具有'qwerty'值,则该部分HTML等于[value]="option['qwerty']",并且当值发生变化时绑定将发生变化。
这里是一个工作的STACKBLITZ,您可以检查控制台并确保绑定动态变化。
发布于 2019-01-26 22:32:07
如果有一些变量告诉您何时要使用其中的每一个变量,则可以创建一个条件,例如:
{{Item.UseName ? Item.Name : Item.Vaule }}https://stackoverflow.com/questions/54383259
复制相似问题