2016-08-17 1 views
1

次の問題があります。ng-repeatを使用していくつかのフォームを生成します。 ng-modelを使用してテキストエリアの値をキャプチャしても問題はありません。 ng-repeatによって生成されたフォーム内のtextarea要素は、同時にすべてのtextarea要素内で複製されます。ng-repeats内でng-modelsをアンバインドする

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

はあなたの現在のng-repeatの指標を与える$indexを使用し、その経由オブジェクトとアクセス、それを作成することです。

だからあなたのようなものだろう:$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> 

とその$indexによって支配される別のテキストエリアng-modelsを見るでしょう。

+0

それだけです!ありがとうございました! data-ng-click = "addCommentPost($ index);" JS:$ scope.data = {}; $ scope.addCommentPost = function(index){ var comment = $ scope.data [index] .newComment; console.log(コメント); } –

関連する問題