<select ng-model="team.captain" ng-options="player.name for player in team.players"></select>
这正确地创建了一个选择列表来选择团队队长。但是,默认情况下选择空白选项。我们如何从列表中预选第一个播放器?
<select ng-model="team.captain" ng-options="player.name for player in team.players" class="ng-pristine ng-valid"> <option value="0">John</option> <option value="1">Bobby</option> </select>
我试着添加ng-init =“team.captain =’0’”但是没有帮助。
更新显然,这是因为
a value referenced by ng-model doesn’t exist in a set of options passed to ng-options.
资料来源:Why does angularjs include an empty option in select
但是,问题仍然是为什么使用ng-init不工作?
<select ng-init="team.captain='0'" ng-model="team.captain" ng-options="player.name for player in team.players"></select>
这是什么工作:
<select ng-init="team.captain=team.players[0]" ng-model="team.captain" ng-options="player.name for player in team.players"></select>
和什么不工作:
ng-init="team.captain='0'" ng-init="team.captain='John'"
我的猜测是,Angular超越了简单的值或标签的比较。它可能比较对象引用。