我会保持简短。
http://codepen.io/anon/pen/waXWpw?editors=101
这是我做的东西,希望能说明我的问题(我也希望 Plunker 能正常工作......)。第一个下拉菜单是我的尝试,另一个是我从另一个不再在这里工作的工作 Plunker 那里得到的......
我根本无法弄清楚这不起作用的原因。本质上,我希望用户能够从下拉列表中选择多轮,但无论我尝试什么,我都无法让 ngOptions 发挥作用。我只是在下拉列表中得到“未定义”,没有其他选项出现。
编辑:我修复了 Plunker,突然 ngOptions 开始工作,所以现在我的问题是我不知道如何复制我的问题。我必须在此处包含我的实际代码,以查看是否有人能发现错误。
需要明确的是,页面上的所有其他内容都运行良好,包括 ngMessages、ngAnimate、Angular UI 和其他表单元素,因此我将仅包含相关的 HTML。
HTML:
<div ng-controller="CreateController as create">
<form name="creationForm" novalidate>
<div>
<select name="numberOfRounds"
ng-model="create.numberOfRounds"
ng-options="item.rounds as item.name for item in create.possibleNumbersOfRounds"
required>
</select>
<label>Number of Rounds</label>
</div>
</form>
</div>
JS(控制器):
angular
.module('TabIt')
.controller('CreateController', ['$state', '$scope', 'TournamentFactory', function ($state, $scope, TournamentFactory) {
this.possibleNumbersOfRounds = [
{ "rounds": 0, "name": "Please make a selection"},
{ "rounds": 2, "name": "2 rounds" },
{ "rounds": 3, "name": "3 rounds" },
{ "rounds": 4, "name": "4 rounds" },
{ "rounds": 5, "name": "5 rounds" },
{ "rounds": 6, "name": "6 rounds" },
{ "rounds": 7, "name": "7 rounds" },
{ "rounds": 8, "name": "8 rounds" },
{ "rounds": 9, "name": "9 rounds" }
];
this.numberOfRounds = this.possibleNumbersOfRounds[0].code;
}]);