vue中子组件使用this.$emit给父组件传值无效

这是子组件请求, 完成后把数量发给父组件
image.png
这是父组件中的子组件部分
image.png
然后是父组件对应的方法
image.png
结果就是走不到父组件这边来

这是抄的另一个地方的代码:
子组件
image.png
父组件
image.png
父组件方法
image.png

这边这个却是正常的

阅读 7.9k
5 个回答

换个姿势: 使用vuex,把数据同步到store,然后在父组件下computed获取这个长度

盲猜一个 Cannot read property 'total' of undefined

image.png

看了楼主的用法和用例,感觉两者差不多。单结果却不一样,我分析有两种情况
1、用例fetchData应该是个查询事件,而的楼主的用法不知道是绑定到事件上,还是单纯的一个调用api的函数。
2、api的问题导致没有经过then,而直接走到了finally。从而没有执行this.$emit代码。
楼主能再提供更多的信息吗?

新手上路,请多包涵

官方文档:https://cn.vuejs.org/v2/guide...
不同于组件和 prop,事件名不存在任何自动化的大小写转换。而是触发的事件名需要完全匹配监听这个事件所用的名称。
不同于组件和 prop,事件名不会被用作一个 JavaScript 变量名或 property 名,所以就没有理由使用 camelCase 或 PascalCase 了。并且 v-on 事件监听器在 DOM 模板中会被自动转换为全小写 (因为 HTML 是大小写不敏感的),所以 v-on:myEvent 将会变成 v-on:myevent——导致 myEvent 不可能被监听到。
因此,我们推荐你始终使用 kebab-case 的事件名

是否可以考虑下换个变量名,不用callback,比如用@data等等?

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题