Задать вопрос

Ng-options и ng-model в angularjs?

Есть разметка

{{SelectedSemester}} -тут всё хорошо отображается
    <select ng-model="SelectedSemester" ng-change="" ng-options="semester.Id as semester.Name for semester in DataService.GET_SemestersList()">
    <button ng-click="group_create_show()">показать</button>


и код

$scope.group_create_show= function() { 
      alert($scope.SelectedSemester) // а здесь не выводится пробовал $scope.SelectedSemester.Id
    }

DataService.GET_SemestersList() возвращает список семестров

Пересмотрел всю документацию. Везде работает, а здесь нет. Странно.
  • Вопрос задан
  • 282 просмотра
Подписаться 2 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Javascript.ru
    Курс по Angular
    6 недель
    Далее
  • Skillfactory
    Профессия Frontend-разработчик PRO
    14 месяцев
    Далее
  • Компьютерная академия «TOP»
    Frontend разработка
    12 месяцев
    Далее
Решения вопроса 1
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
Это самая типичная ошибка начинающих в Angular. Скоупы не умеют наследовать скаляры. Что-то чуть выше по иерархии скорее всего создало свой скоуп, и в контроллере его предок.

Решения два:
- использовать объекты-хранилища аля data. SelectedSemester
- не использовать скоуп в контроллере и обратиться к controllerAs синтаксису, тогда все будет хорошо так как контроллер будет засунут в скоуп по алиасу и, поскольку контроллер это объект передающийся по ссылке, значения будут наследоваться.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы