Html 使用angular 2从对象获取关键帧和值+

Html 使用angular 2从对象获取关键帧和值+,html,angular,typescript,Html,Angular,Typescript,我有一个这样的物体: myComponent.ts 其中detailsstruct的数据来自我的mongoDb,我希望有一个显示我的对象的键和值的输入表单。在html中,我做了如下操作: myComponent.html 我试图从我的对象中得到一些东西,但我写的东西不起作用。 有什么建议吗?谢谢您可以使用这种方式,我希望这将有助于处理您的数据 for (let obj of this.detailsStruct) { for (let prop of Object.keys(ob

我有一个这样的物体:

myComponent.ts

其中detailsstruct的数据来自我的mongoDb,我希望有一个显示我的对象的键和值的输入表单。在html中,我做了如下操作:

myComponent.html

我试图从我的对象中得到一些东西,但我写的东西不起作用。
有什么建议吗?谢谢

您可以使用这种方式,我希望这将有助于处理您的数据

for (let obj of this.detailsStruct) {
        for (let prop of Object.keys(obj)) {
            console.log("value-" + obj[prop]);
            console.log("key-" + [prop]);
        }
    }
您可以尝试:

<div class="form-group" *ngFor="let key of objectKeys(detailsStruct) ; let i = index">
 <div class="input-group">
  <input type="text" class="form-control" [ngModelOptions]="{standalone: 
true}"
  [(ngModel)]="detailsStruct[key]" placeholder="" name="{{detailsStruct[key]}}">
   </div>
</div>
.

如果detailsStruct是一个对象

<div class="form-group" *ngFor="let s of Object.keys(detailsStruct) ; let i = index">
 <div class="input-group">
  <input type="text" class="form-control" [ngModelOptions]="{standalone: 
true}"
  [(ngModel)]="detailsStruct[s]" placeholder="" name="s{{i}}">
   </div>
</div>

请尝试此代码:Link


谢谢

详细信息结构是目标吗?粘贴整个细节结构细节结构是一个结构与我在myComponent的注释中所述类似的对象。t数据来自我的数据库,因此我只能获取该格式的数据。好的,您可以对第一个主对象使用循环,然后在第二个循环中使用键和值。是的,我可能是一个很好的起点,但我从mongoDb获得数据,它们不是一个对象数组,而是一个具有键和值的对象,我希望每行有两个输入值:一个用于值,一个用于键。在您的情况下,我希望在第0行和第1行以及第1行和第2行中显示从mongoDB获取数据的格式。我可以帮助您确定Details的值结构为:{0:something,5:somethingElse}我认为您应该更改如何在结果中获取数据的格式,以便于访问
<div class="form-group" *ngFor="let key of objectKeys(detailsStruct) ; let i = index">
 <div class="input-group">
  <input type="text" class="form-control" [ngModelOptions]="{standalone: 
true}"
  [(ngModel)]="detailsStruct[key]" placeholder="" name="{{detailsStruct[key]}}">
   </div>
</div>
objectKeys = Object.keys;
  detailsStruct = {0: "something",
            5: "somethingElse"}
<div class="form-group" *ngFor="let s of Object.keys(detailsStruct) ; let i = index">
 <div class="input-group">
  <input type="text" class="form-control" [ngModelOptions]="{standalone: 
true}"
  [(ngModel)]="detailsStruct[s]" placeholder="" name="s{{i}}">
   </div>
</div>
<div class="form-group" *ngFor="let s of detailsStruct ; let i = index">
 <div class="input-group">
  <input type="text" class="form-control" [ngModelOptions]="{standalone: 
true}"
  [(ngModel)]="s[i]" placeholder="" name="{{s[i]}}">
   </div>
</div>

import {AfterViewInit, Component, ElementRef, ViewChild,Renderer2,OnInit} from '@angular/core';

@Component({
  selector: 'my-app',
  templateUrl: './app.component.html',
  styleUrls: [ './app.component.css' ]
})
export class AppComponent  {
  constructor(private renderer: Renderer2, private el: ElementRef) {}
  detailsStruct=[];
  detailsStruct = [{0:"one"},{1:"two"}];
}