Skip to content

二.Vue3.x(通信)

前言

补充一些官方文档中没有的,但是实际开发中最好需要了解的内容

1. props

2. $emit

js
const props = withDefaults(
    defineProps<{
      lotteryList: { pic: string; name?: string }[];
      winId: number;
      initSpeed: number;
      fastSpeed: number;
      slowSpeed: number;
      baseCircles: number;
      classPrefix: string;
    }>(),
    {
      lotteryList: () => [],
      winId: 0,
      initSpeed: 300,
      fastSpeed: 100,
      slowSpeed: 600,
      baseCircles: 4,
    }
  );这里的withDefaults是什么?

3. expose / ref

4. attrs

5. v-model

6. provide / inject

7. Vuex

8.mitt

  • 1.首先全局引入
js
import { createApp } from "vue";
const app = createApp({});
import mitt from "mitt";
app.config.globalProperties.$bus = mitt();
app.provide("$bus", $bus);
  • 2.订阅数据
js
...
setup(){
  const $bus = inject("$bus")
  $bus.on('customEvent', () => console.log('i got customEvent')
}
...
  • 3.发布数据
js
...
setup(){
  const $bus = inject("$bus")
  $bus.emit("customEvent");
}
...