好久没有使用这玩意去调用父级组件的方法了,一直得用this.$parent.[属性/方法],觉得非常方便。今天修改了别人达的一个框架,用的$emit,当时都给我干懵逼了,为什么他能调用,我不能,没有报错,就是没有触发事件。
看了半天觉得不会了,把自己找代码翻出来看了下顺便记录下
子组件:
//执行父组件的方法
this.$emit('back',url,this.index)父组件:
<xxx @back="back_upimg"></xxx>back_upimg(url,index){
this.upimg = url
}$emit('back',url,this.index) 可以返回对应多个参数
'back' 这个方法必须在子组件调用的时候加上<xxx @back="back_upimg"></xxx>
方法名称'back'必须是小写(网上查的,这个真没注意,估计是习惯了小写)
文章讲述了在Vue.js开发中遇到的一个问题,即作者在尝试使用$emit调用父组件方法时遇到困扰。子组件通过`this.$emit(back,url,this.index)`尝试传递参数给父组件的方法`back_upimg`,而在父组件中通过`<xxx@back=back_upimg></xxx>`监听事件。作者发现事件触发不成功,最终发现back方法名需小写,以及正确绑定父组件的方法才能正常工作。
2万+

被折叠的 条评论
为什么被折叠?



