1.父组件给子组件传回调函数过去,在子组件里把数据当参数传进去调用和2.子组件emit数据给父组件,在父组件中使用有啥区别吗感觉全部都能用第1种方式啊,为啥还要子组件emit这种方式目前唯一能想到的就是第1种方式,子组件可以修改父组件传过来的方法,感觉不太好PS:在子组件尝试修改props的时候,另外发现个问题,比如this.props.callback=function(){alert('改写了父组件方法')},这样写是可以的改写掉的但是如果vara=this.props.callbacka=function(){alert('改写了父组件方法')}这样是改不掉的,好奇怪,为啥?这2个问题很困惑,小弟vue新手,还求大神赐教,感激不尽
2 回答
隔江千里
TA贡献1906条经验 获得超10个赞
很简单,很多时候,我们的子组件只需要把值给上一层,不需要做其他的多余的事情。你当然可以把回调传进去……但是为了解耦父子组件,在做这个子组件的时候还是需要emit出来。因为很多时候整个父组件的由无数小的子组件构成的。父组件统一处理逻辑比在子组件单个处理合理的多。。。组件尽量做自己的事,别做别的组件的事。这样,维护也很方便。
哈士奇WWW
TA贡献1799条经验 获得超6个赞
感觉全部都能用第1种方式啊,为啥还要子组件emit这种方式因为除了父子组件,还有兄弟组件,而event的方式只是也适用于父子组件而已。这样是改不掉的,好奇怪,为啥?此时只是a指向了this.props.callback,跟vue没有发生任何关系,重新赋值也只是把a指向了别的东西而已。
添加回答
举报
0/150
提交
取消