使用后退按钮进行奇怪的重复行为

时间:2014-11-13 11:28:31

标签: angularjs angularjs-ng-repeat

我的表单中有隐藏的输入

<input type="hidden" ng-repeat="dasBottle in bottles track by $index" value="{{ dasBottle.id }}" name="bottles[]" />

单击按钮时,选择输入中当前选择的选项将添加到页面中:

$scope.bottles.push(bottle);

正确的值,一切都很好。

<input type="hidden" ng-repeat="dasBottle in bottles track by $index" value="30" name="bottles[]" class="ng-scope">

用户可以根据需要添加任意数量的这些,并且每次都是正确的值。

但是,如果用户提交表单,但按下后退按钮,则相同的过程有效,但每个新的隐藏字段都具有在首次提交表单之前添加的第一个隐藏输入的值,在这种情况下30.使其恢复正常的唯一方法是刷新页面。

设置控制器时,scope变量确实设置为空数组:

$scope.bottles = [];

任何帮助都将不胜感激,谢谢。

1 个答案:

答案 0 :(得分:0)

您可以显式地将索引添加到要从表单中形成的数据数组中:

bottles[{{ $index }}]

后端的同事说,这并没有改变数据到达的方式,但奇怪的行为得到了解决。