vue评论未附加

时间:2019-05-15 09:55:15

标签: javascript laravel vue.js

直到刷新页面,我的Vue代码才起作用。注释的回复已成功发送到数据库,但是直到刷新页面或添加注释然后刷新然后添加答复后,浏览器中才会显示该注释。

Comments.vue

我的方法

appendReply(comment,reply){
    _.find(this.comments, { id: comment.id }).children.push(reply)
},

已安装

bus.$on('comment:replied', ({ comment, reply }) => {
    this.appendReply(comment, reply)
    this.scrollToComment(reply)
})

我在控制台中收到此错误

  

[Vue警告]:事件处理程序中的“ comment:replied”错误:“ TypeError:   无法读取未定义的属性“ push”

1 个答案:

答案 0 :(得分:0)

由于我知道您在哪里获得了这段代码,流程是什么,我将为您提供解决问题的方法。

Alex在解释appendReply方法时,将whenLoaded中的CommentResource保留在'replies' => CommentResource::collection($this->replies) 的答复(子项)上。

要解决此问题,您需要转到后端提供的Commentresource类,并将对此代码的回复(子级)属性设置为:

'children' => CommentResource::collection($this->children)

或者您的情况

...