Angular 2 - 如何比较 JSON 和 ngModel 对象了解它们之间的区别


  <select multiple [(ngModel)]="budgetSelectedVal "> 
       <option *ngFor="let budgetyear of budgetyears " value = {{budgetyear.value}} > 
                    {{budgetyear.value}} 
       </option>  
  </select>

上面的代码用于从下拉列表中双向绑定预算年度选择,

预算年度

[{
        "year": "budgetYear",
        "value": "2018"
    }, {
        "year": "budgetYear",
        "value": "2017"
    }, {
        "year": "budgetYear",
        "value": "2016"
    }, {
        "year": "budgetYear",
        "value": "2015"
    }, {
        "year": "budgetYear",
        "value": "2014"
    }, {
        "year": "budgetYear",
        "value": "2013"
    }, {
        "year": "budgetYear",
        "value": "2012"
    }
]

现在,我想将预算年度的选定值(从下拉列表中)与服务器返回的 JSON 数据进行比较。因此,例如,对于预算年度的选定值(2018,2017,2016),我只收到了当年(2018,2017)而不是2016年的响应,那么我应该能够使用JSON响应仅显示2018年和2017年的数据,对于2016年,我需要设置一些默认值。

JSON 响应应如下所示:

[{
    "budgetYear": "2018",
    "amount": 424.0,
}, {
    "budgetYear": "2017",
    "amount": 1008.0,
}]

您可以使用管道或使用.filter在打字稿中进行,如下所示,

constructor(){ 
       this.budgetyears=this.budgetyears
                        .filter(years=>years.value==this.budgetSelectedVal)
}

最新更新