我正努力在模型更改时在视图中获取选择。我按如下方式使用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