当我尝试将我的应用程序迁移到Angular 1.4.0-rc2(候选版本)时,我遇到了问题:当我加载ngAnimate
作为我的应用程序的依赖项时,ngRepeat
指令停止删除从HTML DOM中删除的项目。当我没有加载ngAnimate
或使用Angular 1.3.x时,问题不会出现。
Plunker app demonstrating problem
这是1.4.0-rc2中的错误还是我做错了什么?我看了1.4的变化,但它并没有帮助我解决这个问题。
答案 0 :(得分:1)
我的问题最终在angularjs讨论组中被回答:https://groups.google.com/forum/#!topic/angular/ZSUB17o4jd0。
这是答案,所有功劳归功于桑德埃利亚斯。
在单个元素上使用多个指令会抛出动画师。我明白为什么会这样,但在我看来,动画师应该在控制台中发出警告/错误。 你的问题很容易解决:
<div ng-repeat="s in vm.wrapper.strings track by $index">
<ng-form name="blahForm">
<select ng-model="vm.wrapper.strings[$index]" ng-options="obj.value as obj.name for obj in vm.options" name="xxx" required>
<option>Wybierz</option>
</select>
</ng-form>
</div>
将ngForm放在自己的元素中,它会像你期望的那样工作。