2
我正在使用HTML選擇以下數據和範圍代碼(下面)。我無法從範圍數據中獲取選擇列表中的初始值。有人能指出我搞砸了什麼嗎?AngularJS選擇初始值不選擇
$scope.hourOptions = [
{ value:'0', key: '12AM'},
{ value:'3600', key: '1AM'},
{ value:'7200', key: '2AM'},
{ value:'10800', key: '3AM'},
{ value:'14400', key: '4AM'},
{ value:'18000', key: '5AM'},
{ value:'21600', key: '6AM'},
{ value:'25200', key: '7AM'},
{ value:'28800', key: '8AM'},
{ value:'32400', key: '9AM'},
{ value:'36000', key: '10AM'},
{ value:'39600', key: '11AM'},
{ value:'43200', key: '12AM'},
{ value:'46800', key: '1PM'},
{ value:'50400', key: '2PM'},
{ value:'54000', key: '3PM'},
{ value:'57600', key: '4PM'},
{ value:'61200', key: '5PM'},
{ value:'64800', key: '6PM'},
{ value:'68400', key: '7PM'},
{ value:'72000', key: '8PM'},
{ value:'75600', key: '9PM'},
{ value:'79200', key: '10PM'},
{ value:'82800', key: '11PM'}
];
這裏的景色
<select id="timeOfDay" class="form-control"
data-ng-options="option.value as option.key for option in hourOptions"
data-ng-model="topic.timeOfDay"
required
></select>
的$ scope.topic值設置爲72000這樣:
$scope.topic.timeOfDay = 72000;
我試圖在數據 - 這改變爲一個字符串ng-init無濟於事。無論我做什麼,我都無法獲得初始值以在選擇列表中選擇自己。有任何想法嗎?
這是問題。出於某種原因,ng-init沒有做任何事情(儘管我認爲它會)。把它設置成控制器中的一個字符串就可以了。我更新了我的代碼示例以確保正確(在範圍設置中有錯字)。謝謝! – 2015-01-27 02:38:35
@DonnFelker不客氣。不會監視ng-init表達式,並且在ng-init中不使用'$ scope' explicity,其範圍在此處是隱含的。但是,正如官方文檔所說,在ng-init中初始化並不是一件好事。 – PSL 2015-01-27 02:40:43
偉大的音符。再次感謝你! – 2015-01-27 02:46:14