问答

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

作者:admin 2021-05-08 我要评论

这是子组件请求, 完成后把数量发给父组件 这是父组件中的子组件部分 然后是父组件对应的方法 结果就是走不到父组件这边来 这是抄的另一个地方的代码: 子组件 父...

在说正事之前,我要推荐一个福利:你还在原价购买阿里云、腾讯云、华为云服务器吗?那太亏啦!来这里,新购、升级、续费都打折,能够为您省60%的钱呢!2核4G企业级云服务器低至69元/年,点击进去看看吧>>>)

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

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

这边这个却是正常的

###

换个姿势: 使用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等等?

版权声明:本文转载自网络,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本站转载出于传播更多优秀技术知识之目的,如有侵权请联系QQ/微信:153890879删除

相关文章
  • vue中子组件使用this.$emit给父组件传

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

  • webpack打包报错

    webpack打包报错

  • 二维数组删除子元素

    二维数组删除子元素

  • video在chorme播放白屏及微信打开链接

    video在chorme播放白屏及微信打开链接

腾讯云代理商
海外云服务器