如何在ngfor中将变量从模板传递给ts

时间:2017-05-31 05:06:39

标签: angular typescript angular2-template

如何将变量从模板传递到来自*ngFor的打字稿。

我用于循环:

 <select (change)="onregionchange()" data-placeholder="Regions" class="form-control regions-select" id="regions" multiple>
    <option *ngFor="let region of all_regions" [value]="region.id">{{region.name}}</option>
</select>

现在我想将所选区域的国家/地区发送到onregionchange()

中的region.countries

如何在angular2

中实现这一目标

2 个答案:

答案 0 :(得分:5)

在您的函数onregionchange()中,您需要传递所有选项。像change($event.target.options)一样。

在TS文件中,您需要提取所选的文件,因为您要获取其中的所有变量。 类似的东西:

onregionchange(countries) {
    this.selectedregions = Array.apply(null,countries)
      .filter(country => country.selected)
      .map(country=> country.value)
  }

选中此plunkr

答案 1 :(得分:0)

嗯,onchange上有一个select处理程序。所以,你可以使用它,

<select (change)="onregionchange()" data-placeholder="Regions" class="form-control regions-select" id="regions" multiple>
    <option *ngFor="let region of all_regions" [value]="region.id">{{region.name}}</option>
</select>

function onregionchange(e){
    console.log(e.target.value)
}

由于您已region.id作为option值,因此您将获得所选选项的region.id。我希望你可以从那里得到region.country