Выбор опции по умолчанию в раскрывающемся списке Angular

0

У меня есть следующий код:

<select ng-model="sortYear">
    <option value="all">All Years</option>
    <option ng-repeat="article in news | orderObjectBy:'year':true | unique: 'year'" value="{{article.year}}">{{article.year}}</option>
</select>

Что работает отлично. Я даже получил sortYear связанный в другой точке страницы, и он подключился отлично и т.д.

Моя проблема заключается в том, что, когда я добираюсь до страницы, я хочу, чтобы выбор по умолчанию, предварительно выбранный, был лучшим фактическим годом, а не "All Years". Я пробовал пару вещей:

1) Я установил $ scope.sortYear в свой контроллер. Я знаю, что он установил его, так как sortYear позже на странице показывается очень хорошо при начальной загрузке.

2) Я попытался использовать ng-init, чтобы установить его на год явно, а также попробовал ng-init="sortYear = getCurYear()" где я определил функцию getCurYear в контроллере (и подтвердил, что я на самом деле функция и установка/возвращение того, что, как я думал, должно быть), но нада.

Что мне не хватает?

  • 1
    Вы действительно должны использовать ngOptions вместо ngRepeat для выбора.
  • 0
    Итак, в начальном теге select у меня будет ng-options = "article in news | orderObjectBy: 'year': true | unique: 'year'"? Будет ли это установить мой по умолчанию?
Показать ещё 2 комментария
Теги:
drop-down-menu
default

1 ответ

1
Лучший ответ

используйте ng-value в теге option с ng-repeat like

<option ng-value="article.year" ng-repeat="article in news | orderObjectBy:'year':true | unique: 'year'">{{article.year}}</option>
  • 0
    УРА! Это сработало! Спасибо!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню