Angular 2在ngFor中调用一个方法

时间:2017-01-31 20:45:59

标签: angular

如何从ngFor传递ID并调用方法来填充我的下拉列表。

这导致解析错误! (我知道ngModel不是要走的路,但我只想展示一个例子)

  
<div class="container" style="width:100%; border:1px double">
     <div class="row  left" *ngFor='let controls of tabControls'>
         <div class="col-md-3 text-left" style="border:1px dotted">
             {{controls.DropDownTitle}}
         </div>
         <div class="col-md-9 text-left">
              <select [(ngModel)]="populateValues(controls.DrodownID)">
                //I will do this after populateValues which wil return an array of items
                  <option *ngFor="let item of items" [value]="item.id">
                 {{ item.name }}
                 </option>
              </select>
         </div>
     </div>
  </div>

输出 enter image description here

所以我必须通过dropwdownid来获取Month's dropdown的所有值。然后获得多年下拉值等。

1 个答案:

答案 0 :(得分:1)

我不确定你是什么意思&#34;调用一种方法来填充我的下拉列表&#34;。

你应该这样做:

<select>
  <option *ngFor="let item of items" [value]="item.id">
    {{ item.name }}
  </option>
</select>

假设您有一个items属性,其中包含{id, name}个对象的数组。

如果必须,您可以调用方法直接从模板中获取项目:

<option *ngFor="let item of getItems()" [value]="item.id">

但通常最好从组件的类中调用该方法并将结果存储在属性中:

export class MyComponent {
  items: any;
  ngOnInit() {
    this.items = getItems();
  }
}