一、Vue 3

父子组件间:
  1. props(父 ↔ 子)

  2. $emit(子 → 父)

  3. v-model(父 ↔ 子)

  4. $refs(父 → 子)

  5. $parent(子 → 父)

  6. slot(普通插槽-默认 / 具名插槽)(父 → 子) / scoped-slot(作用域插槽)(父 ↔ 子)

祖孙组件间:
  1. $attrs(祖 → 孙)

  2. provide / inject(祖  孙)

任意组件间:
  1. mitt(任意  任意)

  2. pinia(任意  任意)

二、Vue 2

父子组件间:
  1. props(父 ↔ 子)

  2. $emit(子 →  父)

  3. .sync(父 ↔ 子)

  4. $refs(父 → 子)

  5. $parent / $children(父 子)

  6. slot(普通插槽-默认 / 具名插槽)(父 → 子) / scoped-slot(作用域插槽)(父 ↔ 子)

祖孙组件间:
  1. $attrs / $listeners(祖 → 孙)

  2. provide / inject(祖  孙)

任意组件间:
  1. 事件总线(EventBus)(任意  任意)

  2. vuex(任意  任意)

三、Vue 3 vs Vue 2 区别

  1. 移除事件总线 → 使用 mitt

  2. vuex → 替换为 pinia

  3. .sync → 合并进 v-model

  4. $listeners → 合并进 $attrs

  5. $children → 被移除

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐