Vuejs2 Vue2$emit未启动回调

Vuejs2 Vue2$emit未启动回调,vuejs2,Vuejs2,使用Vue2,我在页面上有一个书籍列表,其中的详细信息通过子组件显示。用户可以从子组件中删除其中一本书。我希望列表在删除后更新。在记录从数据库中删除后,我正在使用子项的$emit。我可以从控制台看到,$emit与有效负载中正确的新图书列表一起发送。但是,父级中的回调函数没有被激发。我可以说,因为回调开始时的console.log没有显示在控制台中 对我做错了什么有什么建议吗 以下是父项中的内容: <div v-for="book in books" :key="

使用Vue2,我在页面上有一个书籍列表,其中的详细信息通过子组件显示。用户可以从子组件中删除其中一本书。我希望列表在删除后更新。在记录从数据库中删除后,我正在使用子项的$emit。我可以从控制台看到,$emit与有效负载中正确的新图书列表一起发送。但是,父级中的回调函数没有被激发。我可以说,因为回调开始时的console.log没有显示在控制台中

对我做错了什么有什么建议吗

以下是父项中的内容:

<div v-for="book in books" :key="book.BookID"  @book-refresh="refreshbooks">
  <BookCard :book="book" />
</div>
下面是激发$emit的函数(在子组件中)中的内容:

async deleteBook(bookID) {
this.dialogdelete = false
await (EventService.deleteBook(bookID, this.user.UserID))
  .then((newbooks) => {
    this.$emit('book-refresh', newbooks)
  }
    )

},

TJ,谢谢你的建议。我按照你说的做了,并创建了有效的mre。然后我回去看看有什么不同。我只更改了函数的名称。我把书的刷新和刷新全部改为简单的刷新。现在它工作得很好。我还没有花时间去看看我的名字是不是没有正确地匹配,或者是连字符的名字有什么问题?我昨天确实在某个地方读到,混合案例会产生不同,所以也许?无论如何,保持它的超级简单帮助我继续前进

再次感谢你帮我看森林而不是树木

你能创建一个类似于代码沙盒的程序吗?
async deleteBook(bookID) {
this.dialogdelete = false
await (EventService.deleteBook(bookID, this.user.UserID))
  .then((newbooks) => {
    this.$emit('book-refresh', newbooks)
  }
    )

},