This question显示了一个问题,当< select>的选项列表绑定到$scope的某个值时,$scope的摘要事件将导致打开的< select>闪烁.
但是,我发现闪烁效果只发生在OS X上的Chrome 50上,即如果在OS X中的Firefox或Windows上的Chrome上打开列表时发生$摘要,我将看不到闪烁.
这会是Chrome的错误吗?如何防止这种影响?因为如果没有更改选项的元素,人们不希望看到< select>元素眨眼.
我正在研究一个可以用最少的代码在线看到效果的例子.我当前项目的一个例子如下.
<select class="form-control" ng-model="application.choiceOfTeams[0]" ng-options="team.name for team in teams"> <option value="">-- select team --</option> </select> <select class="form-control" ng-model="application.choiceOfJobs[0]" ng-show="application.choiceOfTeams[0].jobs" ng-options="job.name for job in application.choiceOfTeams[0].jobs"> <option value="">-- select position from {$application.choiceOfTeams[0].name $} --</option> </select>
这听起来像你链接的帖子一样的问题.
原文链接:https://www.f2er.com/angularjs/142057.html它似乎是这个错误:
https://bugs.chromium.org/p/chromium/issues/detail?id=613885
正如评论中所建议的,在select上设置转换为none已经解决了这个问题,在我的情况下(使用bootstrap)使用以下方法:
select.form-control { transition: none; }
要在没有引导程序的情况下使用,或者在不使用.form-control类的情况下使用,只需删除.form-control选择器并确保其他任何内容都不会覆盖select元素的transition属性:
select { transition: none; }