我正在尝试使用$ scope.commentText的值,但是当我调用addComment()时,即使已绑定范围变量也为空。作为一种解决方法,我将commentext作为有效的参数值进行传递,但仍然应该起作用。我的问题是如何清除绑定到文本输入的commentText ...,但也无法按预期工作。我环顾四周...我遗漏了一些东西,因为我完全按照文档告诉我的去做。所以...有人吗?

  $scope.user = "WM";
  $scope.commentText='';
  $scope.addComment = function(plan, commentText) {
    console.log(commentText)
    plan.comments.push({text:commentText, user:$scope.user);
    commentText=null;
    $scope.commentText=null;
  };


和视图:

        <form ng-submit="addComment(plan, commentText)">
          <div class="input-group">
            <input class="form-control" type="text" ng-model="commentText" size="30" placeholder="add new comment here">
            <span class="input-group-btn">
              <input class="btn btn-primary" type="submit" value="add">
            </span>
          </div>
        </form>


塞子:http://plnkr.co/edit/lG0Ckjctsj9Hu83lTydh?p=preview

最佳答案

this.commentText=null;方法中使用$scope.commentText=null代替addComment

更新了您的plunkr

编辑:当我发现这里有一个出色的解释时,我开始输入一种解释:
'this' vs $scope in AngularJS controllers

10-04 22:36