我似乎无法获得一个完整的对象下拉列表来初始化为当前值。
HTML下拉列表
<div class="form-group">
<label class="control-label" for="stat">Stat</label>
<div class="controls">
<select ng-options="stat as stat.name for stat in statList" data-ng-model="badge.stat" id="stat" class="form-control" >
</select>
</div>
</div>
statList是通过
加载的对象列表$scope.statList = Stats.query();
徽章将stat作为通过
加载的子对象Badge.findById(id).populate('stat').populate('user', 'displayName').exec(function(err, badge) { ...
当选择加载时,我假设badge.stat应匹配列表中的某些内容。它似乎并没有。 badge.stat上的值似乎已设置我可以获取id,其他字段很好。 我认为查询加载的对象和.populate加载的对象之间可能存在一些细微差别。我该怎么办呢?
答案 0 :(得分:1)
对象之间没有细微差别,它们是不同的对象。 Angular比较引用并且不相等。如果您想通过某个唯一值标识对象,可以使用track by
:
ng-options="stat as stat.name for stat in statList track by stat.name"
此示例假定名称是唯一的。