我有以下代码:选择默认选项生成下拉
<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
绑定在页面上的不同点,它连接好,等等。
我的问题是,当我到达页面,我想默认,预选的选择是最高的实际年,而不是“所有年份”。我试了几件事:
1)我在我的控制器中设置$ scope.sortYear。我知道这是设置它,因为页面后面的限制sortYear
在初始加载时显示得很好。我尝试使用ng-init将其明确设置为一年,并尝试了ng-init="sortYear = getCurYear()"
,我在控制器中定义了一个函数getCurYear(并验证了我实际上正在触及该函数并设置/返回了我以为我应该)但是纳达。
我错过了什么?
你真的应该使用[ngOptions(https://docs.angularjs.org/api/ng/directive/ngOptions),而不是ngRepeat的选择。 –
所以,在最初的选择标签我会有ng-options =“article in news | orderObjectBy:'year':true | unique:'year'”?这会设置我的默认? –
假设你的'sortYear'设置正确,它应该。 –