[英]Populate the data in drop-down from a GET json response- Angular4
我试图在命令的下拉列表中显示json键/字段; 这是对象类型(参见下面的json)例如:“key1”,“key2”应出现在下拉列表中。 最初使用* ngfor但它给出了错误 - “ngfor仅支持对诸如Arrays之类的迭代的绑定”。 由于我的json不包含Array,因此尝试使用ng-options但无法填充下拉列表。 我的json看起来像:
{
id: ‘bla’,
commands: {
“key1” : { },
“key2”: { }
}
}
HTML代码:
<select ngModel="selectedName" ng-options="cmd for cmd in cmdJson" name= "CapabilityCmd" required>
在Typescript代码中:
this.http.get(URL, options)
.pipe(map ((response) => response.json()))
.subscribe((res) => {
this.commandResponse = res;
this.cmdJson = this.commandResponse.commands;
console.log("commands:", this.cmdJson);
});
我注意到cmdJson显示正确的响应(即;
{“key1”:{},“key2”:{}}
)在控制台中但不在下拉框中填充。
角度中no
可用的ng选项,您使用的是angularjs语法,而是使用ngFor
<select [(ngModel)]="selectedName">
<option *ngFor="let cmd of cmdJson" [value]="cmd ">
{{cmd}}
</option>
</select>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.