在ng-repeats中取消绑定ng-model

时间:2016-08-17 20:54:21

标签: javascript angularjs firebase-realtime-database

我有以下问题,我使用ng-repeat生成几种形式, 我使用ng-model来捕获textarea值并且它工作得很好但是当我尝试在ng-repeat生成的表单内的textarea元素上写一些东西时,同时在所有textarea元素内复制文本。 / p>

enter image description here

有没有办法取消绑定那些ng模型?

<div ng-repeat="PostList in PostList">
  <form id="PostFormComments" role="form">
      <div class="row input-field">
        <textarea data-ng-model="data.newComment" placeholder="write  something?...." type=text></textarea>
       </div>
       <a name="action" ng-disabled="!data.newComment" data-ng-click="addCommentPost();" ng-class="clear" class="secondary-content btn-floating waves-effect waves-light  light-blue darken-2"></a>
  </form>
  </div>

1 个答案:

答案 0 :(得分:1)

你可以做的是使用$index,它为你提供当前ng-repeat的索引并创建一个对象并通过它访问它。

所以你会这样做:$scope.data = {}

然后你会得到如下形式:

<div ng-repeat="PostList in PostList">
  <form id="PostFormComments" role="form">
      <div class="row input-field">
        <textarea data-ng-model="data[$index].newComment" placeholder="write  something?...." type=text></textarea>
       </div>
       <a name="action" ng-disabled="!data[$index].newComment" data-ng-click="addCommentPost();" ng-class="clear" class="secondary-content btn-floating waves-effect waves-light  light-blue darken-2"></a>
  </form>
  </div>

您会看到不同的textarea ng-models由其$index管理。