我正努力在模型更改時在視圖中獲取選擇。我按如下方式使用ng-options
。AngularJS ng-options not binding
<select ng-options="item as item.empName for item in employees track by item.ID" ng-model="emp.selected">
要顯示這裏的問題是我可以構建最簡單的情況。
app.controller('Ctrl', ['$scope', function($scope) {
$scope.employees = [
{
"empName": "John",
"ID": 1
},
];
setTimeout(function(){
$scope.employees = [
{
"empName": "John",
"ID": 1
},
{
"empName": "Sam",
"ID": 1
},
{
"empName": "Frank",
"ID": 1
}];
}, 100);
}]);
該選擇顯示'約翰',從不更新顯示其他名稱。添加$scope.$apply();
沒有幫助。
,則不應使用'setTimeout'有棱有角,這是不是與角'$ digest'循環兼容。如果您*必須*使用超時,請改用'$ timeout'。但是,鑑於您創建此示例以顯示問題,我懷疑問題是其他問題。 – Claies
值得注意的是'$ scope。$ apply()'在這裏確實有效,假設你將它添加到代碼中的正確位置。 http://plnkr.co/edit/HB3cA6StEicr391jLnXq。這不是推薦的解決方案,但是...... – Claies
您可以使用setTimeout,但它不是角度推薦的方法。我運行你的代碼,它爲我工作。你看到日誌中有錯誤嗎? – Naveen