Angular4中下拉框selected属性与ngValue(value)属性互斥如何解决?

在做个人信息修改的时候遇到了一个问题:部分下拉框的option内容是由后端通过json传递过来的,格式大概为:

{
"arriveTime":
{
"id":150,
"name":"待定",
"sort":1
},
{
"id":151,
"name":"立即",
"sort":2,
"selected":true
}
}
于是我把该实体通过循环填充:

<div class="area-int">
  <select formControlName="arriveTime">
    <option *ngFor="let a of resume.arriveTimeDic" [selected]="a.selected" [ngValue]="a">
      {{a.name}}
    </option>
  </select>
</div>

结果发现只要有ngValue或是value属性存在,selected就会失效。使用ngValue的意图是,因为后端需要我同时把id和name两个字段都传过去。我使用另一种方式也同样没有效果:

<div class="area-int">
  <select formControlName="arriveTime">
    <option *ngFor="let a of resume.arriveTimeDic" [selected]="a.selected" [value]="a.name">
      {{a.name}}
      <input formControlName="arriveTimeId" [value]="a.id">
    </option>
  </select>
</div>

搜索未果,特向大神们请教,小白自学,感激不尽!

 搞不懂,既然是用angular4,那页面节点的属性定义怎么会和后端挂上勾呢,与后端交互的都在ts代码的http请求调用中,与前端模板有什么关系。