AngularJS: ngOptions не работает (включая ngModel, используя синтаксис "контроллер как")

Я буду держать это коротким.

http://codepen.io/anon/pen/waXWpw?editors=101

Вот кое-что, что я сделал, что, я надеюсь, иллюстрирует мою проблему (я также надеюсь, что Plunker работает правильно...). Первый выпадающий список - это моя попытка, а другой - тот, который я взял у другого работающего Плункера, который здесь больше не работает...

Я просто не могу понять причину, почему это не работает. По сути, я хочу, чтобы пользователь мог выбрать количество раундов из выпадающего списка, но, что бы я ни пытался, я не могу заставить работать функции ngOptions. Я просто получаю "undefined" внутри выпадающего списка, и никаких других опций не появляется.


РЕДАКТИРОВАТЬ: я исправил 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;

}]);

0 ответов

Другие вопросы по тегам