我有以下代碼:選擇默認選項生成下拉
<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'設置正確,它應該。 –