二.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是什么?1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
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);1
2
3
4
5
2
3
4
5
- 2.订阅数据
js
...
setup(){
const $bus = inject("$bus")
$bus.on('customEvent', () => console.log('i got customEvent')
}
...1
2
3
4
5
6
2
3
4
5
6
- 3.发布数据
js
...
setup(){
const $bus = inject("$bus")
$bus.emit("customEvent");
}
...1
2
3
4
5
6
2
3
4
5
6
