角度如何将嵌套对象添加到ng-repeat

问题描述 投票:0回答:1

我是一个十足的菜鸟,所以请原谅这个基本问题。

我的模型有一个帖子/评论结构,如下所示:

[
    {
        "title": "awesome post",
        "desc": "asdf",
        "comment_set": [
            {
                "id": 2,
                "desc": "another awesome comment",
            }
        ]
     }
]

我的角度模板如下所示:

<li ng-repeat="post in $ctrl.phones | filter:$ctrl.query | orderBy:$ctrl.created_at" class="media media-clearfix-xs">
<div>{{post.title}}</div>
<ul class="comments">
                                <li ng-repeat="comment in post.comment_set  | orderBy:created_at" clas="media">
                                  <div>{{comment.desc}}
                                </li>
                                <li class="comment-form">
                                  <div class="input-group">
                                    <form ng-submit="$ctrl.addComment()">
                                    <input ng-model="post.comment_set.desc" type="text" class="form-control" />
</form>
                                    <span class="input-group-btn">
                   <input type="submit" class="btn btn-default"><i class="fa fa-photo"></i></input>
                </span>

                                  </div>
                                </li>
                              </ul>

</li>

我的角度分量看起来像这样:

angular.
  module('phoneList').
  component('phoneList', {
    templateUrl: '/static/common/angular/phone-list/phone-list.template.html',
    controller: ['$http',
      function PhoneListController($http) {
        var self = this;

        self.addComment = function() {
            self.push({desc:post.comment_set.desc});
          };

        $http.get('api/posts/').then(function(response) {
          self.phones = response.data;

        });
      }
    ]
  });

我缺少什么可以将评论添加到评论ng-repeat?

javascript angularjs angularjs-module
1个回答
1
投票

您的 addComment 函数不正确。

你应该:

ng-submit="addComment(post.comment_set)"

并且:

ng-model="$ctrl.desc"

那么,addComment() 应该是:

self.addComment(comment_set){
    comment_set.push({desc: self.desc, id: <ID_HERE>});
    self.desc = null;
}

这样,您就可以重置 desc 变量,以便添加新评论

© www.soinside.com 2019 - 2024. All rights reserved.