为了账号安全,请及时绑定邮箱和手机立即绑定

请教各位一个问题,求解答:关于vue自定义事件的命名问题怎么回事哈啊?

请教各位一个问题,求解答:关于vue自定义事件的命名问题怎么回事哈啊?

梵蒂冈之花 2019-06-16 08:26:36
今天用vue遇到了一个很奇怪的问题:我.sync绑定了一个prop::is-amazon.sync="isAmazon",然后在子组件中用$emit给父组件传值:this.$emit('update:is-amazon',val),结果发现,父组件里的isAmazon并没有改变。于是乎,我把名字改了改:isamazon.sync="isAmazon";this.$emit('update:isamazon',val),然后就成功了。。这让我百思不得其解,因为vue的文档上说的是监听自定义事件推荐用kebab-case,结果这里kebab-case不管用了,一脸懵逼中。。。。
查看完整描述

2 回答

?
慕村225694

TA贡献1880条经验 获得超4个赞

prop::is-amazon.sync="isAmazon",this.$emit('update:is-amazon',val),
this.$emit('update:isAmazon',val)改成这样呢
                            
查看完整回答
反对 回复 2019-06-16
?
jeck猫

TA贡献1909条经验 获得超7个赞

在有些情况下,我们可能需要对一个prop进行“双向绑定”。不幸的是,真正的双向绑定会带来维护上的问题,
因为子组件可以修改父组件,且在父组件和子组件都没有明显的改动来源。
这也是为什么我们推荐以update:myPropName的模式触发事件取而代之
.sync修饰符
官方在这里是推荐使用camelCased,但这段话我也看不太懂,希望有人可以分析一下
                            
查看完整回答
反对 回复 2019-06-16
  • 2 回答
  • 0 关注
  • 436 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号