Select 使用子对象时控件未初始化

Select control not initializing when using sub object

我似乎无法将充满对象的下拉列表初始化为当前值。

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) { ...

当 select 加载时,我假设 badge.stat 应该匹配列表中的内容。好像没有。 badge.stat 上的值似乎已设置我可以获得 id,其他字段也很好。 我认为查询加载的对象和 .populate 加载的对象之间可能存在一些细微差别。我该如何处理?

对象之间没有细微差别,它们是不同的对象。 Angular 比较引用和不相等。如果你想通过一些唯一的值来识别对象,你可以使用 track by:

ng-options="stat as stat.name for stat in statList track by stat.name"

此示例假定名称是唯一的。