1

我正在使用 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 数组中,但我不确定如何更新评论列表以显示新添加的评论。

我如何监视第二个 ng-repeat 中对象的状态以适应表单提交所呈现的更改?有指令吗?

4

1 回答 1

1

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

$scope.addComment = function() {
    //update your DB, yada yada yada
    //Update $scope.notices
    $scope.notices[someIndex].comments.push(newComment)
}
于 2013-10-02T19:46:59.723 回答