ng-submit不允许重复值

时间:2014-09-29 12:12:21

标签: angularjs

为什么Angular不允许提交重复数据?我正在使用ng-list编写使用简单控制器得分的所有点。

例如 - 如果玩家在我的应用程序中输入“10”,然后另一个玩家也执行相同操作,则ng-submit将完全停止运行。我还没有指定任何其他内容来允许这种情况发生。如何更改此默认行为,以便允许用户发布重复值?

控制器:

  bowlingApp.controller('bowlPoints', function ($scope){
    $scope.bowlPoints = [];

    $scope.addBowlPoints = function() {
      $scope.bowlPoints.push($scope.enteredPoints);
    };
  });

HTML

<form ng-submit="addBowlPoints()" role="form">
  <div class="form-group">
    <label>Player Score</label>
    <input type="text" class="form-control" ng-model="enteredPoints"> 
  </div>
  <button type="submit" class="btn btn-default">Submit</button>
</form>

  <tr>
    <ul>
      <td>Player </td>
      <td ng-repeat="points in bowlPoints ">{{points}}</td>
    </ul>
  </tr>

2 个答案:

答案 0 :(得分:2)

ng-submit工作正常,在您的示例中,它会为数组bowlPoints增加值,但您无法看到它。 要查看数组并且ng-submit正常工作,您可以在HTML文件中键入{{bowlPoints}}

但是,如果您想要查看表格中的所有数据,并且希望您的表格更新并angular动态添加列,则需要在track by <中添加ng-repeat < / p>

<td ng-repeat="points in bowlPoints track by $index ">{{points}}</td>

演示:http://plnkr.co/edit/oFMm9Jqk034IRvS1qOCO?p=preview

答案 1 :(得分:1)

我相信提交只会在表格很脏的时候做点什么。由于第一次提交将清除脏状态,它不会做任何事情。您可以尝试手动设置表单的脏状态。如果做不到这一点,您可以使用ng-click代替自己做表单提交。