在ng-repeat中访问和刷新AngularJS ng-repeat

时间:2013-10-02 19:18:41

标签: javascript angularjs directive

我正在使用AngularJS创建一个应用程序,其中有一个通知列表,用户可以对这些通知进行评论。但是,我不确定如何实现此评论功能。到目前为止,我有以下内容:

HTML:

<div ng-repeat="notice in notices">
    <!-- details about notice -->

    <div ng-repeat="comment in notice.comments">
       <p>{{comment.user}} - {{comment.text}}</p>

       <form ng-submit="addComment()">
            <input type="text" ng-model="newComment.user">
            <textarea ng-model="newComment.text"></textarea>
            <input type="submit" value="Add comment" />
       </form>

    </div>

</div>

所以在本质上我循环通知然后在循环内循环注释。我还有一个用于添加新评论的表单,而这里对我来说很危险。

AddComment()将获取新的注释值,将其添加到现有的对象数组中,并通过工厂更新数据库。但是,虽然新值确实出现在notice.comments数组中,但我不确定如何更新注释列表以显示新添加的注释。

  

如何监视第二次重复的内部对象的状态   适应表格提交所带来的变化?有指令吗?

1 个答案:

答案 0 :(得分:1)

您应该能够在提交时更新控制器内的notice.comments数组:

$scope.addComment = function() {
    //update your DB, yada yada yada
    //Update $scope.notices
    $scope.notices[someIndex].comments.push(newComment)
}