0

我会保持简短。

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;

}]);
4

0 回答 0