Javascript ngOptions尝试将资源响应用作所选项目时的奇怪行为

Javascript ngOptions尝试将资源响应用作所选项目时的奇怪行为,javascript,angularjs,object,angular-resource,Javascript,Angularjs,Object,Angular Resource,我花了一个多小时试图解决这个问题,但在网上什么也没找到。 这是模板: <select ng-model="user.platform_id" ng-options="platform.id as platform.title for platform in platforms" id="platform_id" class="form-control"> </select> 平台

我花了一个多小时试图解决这个问题,但在网上什么也没找到。 这是模板:

        <select
          ng-model="user.platform_id"
          ng-options="platform.id as platform.title for platform in platforms"
          id="platform_id" class="form-control">
        </select>
平台资源响应返回以下格式:

[ { id: 4, title: 'platform1'}, { id: 5, title: 'platform2' ]
用户相同,资源对象具有平台ID

{ id: 3, name: 'foo', platform_id: 5 }
这样,我可以在选择框中看到所有平台,但ngModel value user.platform_id不会选择它 问题是,当我使用普通对象而不是资源时:

$scope.platforms = platformsEntity.query();
$scope.user = { platform_id: 5 } ; 
正在正确选择它

更新

我复制了我在ng中寻找的行为重复:

<select ng-model="user.platform_id" id="platform_id" class="form-control">
    <option 
        value="{{ platform.id }}" 
        ng-selected="user.platform_id == platform.id" 
        ng-repeat="platform in platforms"
    >{{ platform.title }}</option>
</select>

这与使用资源无关,编程选择ng选项的问题在于ng模型值应该引用与ng选项中相同的对象。为了初始化选择,首先确保平台数组已填充查询可能是async?,然后遍历它们,并将所选平台的id对象设置为用户的平台id对象。

尝试类似的操作。告诉angular您希望通过什么来跟踪该值

对我来说很好:
<select ng-model="user.platform_id" id="platform_id" class="form-control">
    <option 
        value="{{ platform.id }}" 
        ng-selected="user.platform_id == platform.id" 
        ng-repeat="platform in platforms"
    >{{ platform.title }}</option>
</select>
<select
      ng-model="user.platform_id"
      ng-options="platform.title for platform in platforms track by platform.id"
      id="platform_id" class="form-control">
</select>