从select获取完整对象 - Angular

时间:2018-01-04 12:11:11

标签: html angular typescript select

我想通过select获取一些信息,但我得到String而不是整个Object

我的代码如下:

<!-- Select Scenario -->
    <div class="form-group bottom">
        <label class="col-md-4 control-label">{{ 'Scenario' | translate }}</label>
        <div class="col-md-8">
            <select class="form-control" #scenario (change)="getScenario(scenario.value);">
                <option type="text" *ngFor="let scenario of scenarios" >{{scenario.Name}}</option>
            </select>
        </div>
    </div>

但我得value sceanrio.NameString

已尝试更改以下代码:

<option type="text" *ngFor="let scenario of scenarios" value="{{scenario}}">{{scenario.Name}}</option>

<option type="text" *ngFor="let scenario of scenarios" [ngValue]="scenario">{{scenario.Name}}</option>

目的是将对象scenario作为值,但它不起作用(我得到[object Object])。

我的方案如下:

 export class Scenario {
  Name: String;
  Rec: [{
    recName: String;
  }];
  IntConf: [{
    DName: String;
  }];
}

当时只填充了Name,但我想得到整个对象(我想在游行中使用null)

有什么想法吗?

2 个答案:

答案 0 :(得分:0)

{{scenario.Name}}很可能有一个嵌入对象。使用&#34; | json&#34;管道确认像这样{{scenario.Name | json}}

答案 1 :(得分:0)

要获得实际的对象绑定,您应该使用[ngvalue]而不是平面HTML5 value

您的结果应如下所示:

<option type="text" *ngFor="let scenario of scenarios" [ngvalue]="scenario">
    {{scenario.Name}}
</option>