使用子对象时选择控件不初始化

时间:2015-04-02 15:40:27

标签: angularjs mongodb mongoose meanjs

我似乎无法获得一个完整的对象下拉列表来初始化为当前值。

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加载的对象之间可能存在一些细微差别。我该怎么办呢?

1 个答案:

答案 0 :(得分:1)

对象之间没有细微差别,它们是不同的对象。 Angular比较引用并且不相等。如果您想通过某个唯一值标识对象,可以使用track by

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

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