Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在ng重复之后,我需要分离并获取一个元素';id';_Javascript_Angularjs_Ajax - Fatal编程技术网

Javascript 在ng重复之后,我需要分离并获取一个元素';id';

Javascript 在ng重复之后,我需要分离并获取一个元素';id';,javascript,angularjs,ajax,Javascript,Angularjs,Ajax,我想获取我点击回复的评论的“id”,并将其存储起来,用于Ajax调用。目前,我可以使用ng模型获取所有其他内容,但似乎我无法在隐藏输入中使用value=“{{this.id}}”策略来获取值,就像使用jquery一样 <script type="text/ng-template" id="comments-temp"> <div> <ul class="comments" ng-repeat="comment in ctrl.comments">

我想获取我点击回复的评论的“id”,并将其存储起来,用于Ajax调用。目前,我可以使用ng模型获取所有其他内容,但似乎我无法在隐藏输入中使用value=“{{this.id}}”策略来获取值,就像使用jquery一样

<script type="text/ng-template" id="comments-temp">
<div>
    <ul class="comments" ng-repeat="comment in ctrl.comments">
        <li>
            <div class="comment" id="{{comment.id}}">
                <div class="comment-author">
                    <a href="#" style="background-image: url('assets/img/tmp/agent-1.jpg');"></a>
                </div><!-- /.comment-author -->

                <div class="comment-content">
                    <div class="comment-meta">

                    <div class="comment-meta-author">
                            Posted by <a href="#">admin</a>
                        </div><!-- /.comment-meta-author -->

                        <div class="comment-meta-reply">
                            <a href="#" ng-click="showPanel = true">Reply</a>
                        </div>

                        <div class="comment-meta-date">
                            <i class="fa fa-calendar"></i><span>{{comment.dateAdded | date: 'medium'}}</span>
                        </div>
                    </div><!-- /.comment -->

                    <div class="comment-body">

                        <div class="comment-item" id="commentTitle">
                            <h6>{{comment.title}}</h6>
                        </div>
                     {{comment.body}}
                    </div><!-- /.comment-body -->
                </div><!-- /.comment-content -->
            </div><!-- /.comment -->

            <panel ng-show="showPanel">
                <div class="comment-create" ng-model="ctrl.reply">
                    <form method="post" action="?">

                        <div class="row">
                            <div class="col-sm-4">
                                <div class="form-group ">
                                    <label>Title</label>
                                    <input type="text" class="form-control" ng-model="ctrl.reply.title">
                                </div><!-- /.form-group -->
                            </div><!-- /.col-* -->

                            <div class="col-sm-4">
                                <div class="form-group hidden">
                                    <label>Title</label>
                                    <input type="text" class="form-control" ng-model="ctrl.reply.name">
                                </div><!-- /.form-group -->
                            </div><!-- /.col-* -->

                            <div class="col-sm-4">
                                <div class="form-group hidden">
                                    <label>ParentId</label>
                                    <input type="text" class="form-control" value="{{comment.id}}" ng-model="ctrl.reply.parentId">
                                </div><!-- /.form-group -->
                            </div><!-- /.col-* -->
                        </div><!-- /.row -->
                        <div class="form-group">
                            <label>Message</label>
                            <textarea class="form-control" rows="5" ng-model="ctrl.reply.body"></textarea>
                        </div><!-- /.form-group -->
                        <div class="form-group-btn">
                            <button type="button" ng-click="ctrl.replyComment(ctrl.reply); showPanel = false;" class="btn btn-primary pull-right">Post Reply</button>
                        </div><!-- /.form-group-btn -->
                    </form>
                </div>
            </panel>
            <div style="height:35px"></div>
        </li>
    </ul>
</div> <!--comment temp end-->

  • 邮寄人 {{comment.dateAdded}date:'medium'} {{comment.title} {{comment.body} 标题 标题 父ID 消息 回复后

我希望我已经说清楚了。我想要的是:

  <script>
function _replyComment(data){

                vm.commentData = data;
                vm.commentData.blogId = vm.blogId;
                vm.commentData.userId = page.currentUserId;
                vm.commentData.typeId = 1;
                vm.commentData.parentID = //??????? where I want the value the id of the comment I'm replying too 


                console.log(vm.commentData);
                comments.services.insert(data, _onSuccessComment, _onError);// my ajax is in a separate .js file.  it's not important for this demo
 }
  </script>

函数_replyComment(数据){
vm.commentData=数据;
vm.commentData.blogId=vm.blogId;
vm.commentData.userId=page.currentUserId;
vm.commentData.typeId=1;
vm.commentData.parentID=/?????其中我想要的值也是我正在回复的注释的id
console.log(vm.commentData);
comments.services.insert(data,_onSuccessComment,_onError);//我的ajax在一个单独的.js文件中。这对于这个演示并不重要
}
在这之后,我当然必须弄清楚如何将回复适当地嵌套在DOM中。但这是另一天的问题。这就是Jquery比angular更容易实现的地方


谢谢

霍尔茨解决了这个问题。这可能是一个循环,但我创建了另一个只存储comment.id的单击。然后我创建了一个新的控制器变量,并将其放入我的_replyComment函数中

   vm.getId = _getId;
            vm.pId = null;

            function _getId(data){
                vm.pId = data

                console.log(vm.pId)

            }


            function _replyComment(data){

                vm.commentData = data;
                vm.commentData.blogId = vm.blogId;
                vm.commentData.userId = page.currentUserId;
                vm.commentData.typeId = 1;
                vm.commentData.parentId = vm.pId;
                console.log(vm.commentData);

单击“回复”时,将该注释的id存储在控制器变量中,例如“ctrl.reply.id”,您能更明确一点吗?ng click=“ctrl.reply(数据);ctrl.reply.id=comment.id”?对不起,我不明白。我理解。非常感谢。