我從API中提取數據,除非將JSON選項數值綁定到[value]標記,否則這樣做很好。見例如:Dropdown無法從對象中提取數值(Angular 4)
WORKING(數據從API得到被選擇的選項)
<select [(ngModel)]="data.from.api.one" class="form-control">
<option *ngFor="let c of subdimension" [value]="c.name">{{ c.name }}</option>
</select> <!-- select with c.name on value -->
NOT WORKING(數據不被選擇並且該第一個選項是空)
<select [(ngModel)]="data.from.api.one" class="form-control">
<option *ngFor="let c of subdimension" [value]="c.value">{{ c.name }}</option>
</select> <!-- select with c.value on value -->
JSON對象:
subdimension = [{'name': 'sub1','value': 2 },
{'name': 'sub2','value': 4 },
{'name': 'sub3','value': 8}]
我想要做的是一個數字值綁定到一些選擇,然後總結所有的人都喜歡:
data.from.api.one + data.from.api.two ...
編輯:
從data.from.api
constructor (public dataService:DataService){
this.dataService.getData().subscribe(datas => {
this.datas = datas;
});
}
getData(){
return this.http.get('https://api.url/').map(res => res.json());
}
datas:Data[];
data = {
from:{api:{one:'',two:'',three:''}}
}
任何機會,你設置默認值** data.form.api.one **如果是這樣請發佈這是設置的一部分組件。 – Sonicd300
@ Sonicd300編輯代碼 – Gustavo
非常類似的問題,但AngularJS:https://stackoverflow.com/questions/28114970/angularjs-ng-options-using-number-for-model-does-not-select-initial-value ..問題在於「選擇」選項必須是字符串,但是您試圖直接使用數字值。也許固定,如果你解析字符串/從字符串? – mc01