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"
此示例假定名称是唯一的。
我似乎无法将充满对象的下拉列表初始化为当前值。
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"
此示例假定名称是唯一的。