跨组件通讯:$attrs和$listener的用法?

跨组件通讯:
跨组件通讯:$attrs和$listener的用法?_第1张图片
如上图所示,A 和 B、B 和 C、B 和 D 都是父子关系,C 和 D 是兄弟关系,A 和 C 是隔代关系(可能隔多代)。
用挺俗一点的话来讲呢,假如B组件是父亲,那么A组件就是爷爷,c,d组件就是孙子,那么爷爷和孙子之间是如何进行传值的呢?(只是一个比较形象得说法,利于理解)

  • $attrs:主要用于接收没有通过props传递的属性,可以通过 $attrs将爷爷组件的值传递给中间组件(B组件)的子组件(C组件)

A.vue=>



B.vue=>



C.vue=>



  • $listener:主要用于由子组件向爷爷组件传递事件
    A.vue


B.vue=>



C.vue=>



你可能感兴趣的:(前端)