У меня есть следующий код:
<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 в контроллере (и подтвердил, что я на самом деле функция и установка/возвращение того, что, как я думал, должно быть), но нада.
Что мне не хватает?
используйте ng-value
в теге option с ng-repeat
like
<option ng-value="article.year" ng-repeat="article in news | orderObjectBy:'year':true | unique: 'year'">{{article.year}}</option>