2017-02-03 24 views
0

角度のスコープに奇妙な問題があります。私はしばらくそれを使用して、すべてが素晴らしいですが、この小さなスニペットで$スコープは変更されません。何か案が? HTMから ($ scope.projectsと$ scope.commentText、POSTが正常にデータを返す)

モデル:

<textarea ng-model="commentText" class="form-control" 
               placeholder="Enter your comment..." rows="3"></textarea> 
            <br> 
            <a href="#" class="btn btn-primary btn-sm pull-right" ng-click="postComment(projects[0]._id, commentText)">Post comment</a> 

コントローラー:

$scope.postComment = function (project_id, comment) { 
    console.log(project_id, comment); 
    if (comment && $scope.user) { 
     var body = { 
      project: project_id, 
      text: comment.replace(/\r?\n/g, '<br />'), 
      user: $scope.user.nickname, 
      date: new Date() 

     }; 
     $http.post('/api/projects/comment', body) 
      .success(function (data) { 
       data.comments.map(function (comment) { 
        comment.text = $sce.trustAsHtml(comment.text) 
       }); 
       $scope.projects[0] = data; 
       $scope.commentText = ""; 
      }) 
      .error(function (error) { 
       console.log('Error: ' + error); 

      }); 
    } 
+1

あなたはフィドルでそれを再現できますか? –

+0

私はそれを少し減らさなければならなかったが、それはそこで働いている。 http://jsfiddle.net/ADukg/9756/ –

+0

コードが正しいかどうかは、あなたが$ sce.trustAsHtml(comment.text)で何をしようとしているかが、コントローラとそのライブラリには少なくともフィドルでは見えませんか? –

答えて

0

私はそれを考え出しました。 すべて問題なく動作していました...問題は、$ scope.textarea = ""を使用してテキストエリアの内容を変更できないことです。

私はこれに$( "#text-area").val( "")を使用してjqueryを使用しました。

+1

これは適切なアプローチのようには聞こえません。一般的に言えば、jQueryは、Angularの作業を行うためにAngularには使用しないでください。 –

+0

あなたは正しいですが、スコープとテキストエリアに問題があることを他のいくつかの質問で見つけました。どのように角度でこれを行うにはどのようなアイデア? –

関連する問題