在 Angular 生成的下拉列表中选择默认选项
Selecting default option in Angular generated dropdown
我有以下代码:
<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 的地方(并验证我实际上正在使用该函数和 setting/returning 我认为我应该成为的人)但是 nada.
我错过了什么?
在带有 ng-repeat
的选项标签中使用 ng-value
,例如
<option ng-value="article.year" ng-repeat="article in news | orderObjectBy:'year':true | unique: 'year'">{{article.year}}</option>
我有以下代码:
<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 的地方(并验证我实际上正在使用该函数和 setting/returning 我认为我应该成为的人)但是 nada.
我错过了什么?
在带有 ng-repeat
的选项标签中使用 ng-value
,例如
<option ng-value="article.year" ng-repeat="article in news | orderObjectBy:'year':true | unique: 'year'">{{article.year}}</option>