|
|
1 U- W3 U" Z0 X6 L" t K 创建 Pinia 全局 Store新建文件 src/stores/device.ts。我们把设备监听逻辑直接写在 Store 内部。
# z' ?+ d- v+ M! I2 B9 Z1 V5 g( o3 u6 ?* ^, M& b
import { defineStore } from 'pinia'
0 I a) n5 q t' S G+ ~4 t: gimport { ref } from 'vue'$ P' y9 Q+ c1 Q& K- e8 _) R9 F# M
, m% A6 ~* b8 O5 y* R, c- n4 f1 Iexport const useDeviceStore = defineStore('device', () => {4 `; O5 }8 u: B5 }1 T) c
const isMobile = ref(false)7 Y; N h% W( _/ T! j% I
let mediaQuery: MediaQueryList | null = null
p9 s6 {: p; @7 T5 Y
- D+ l9 h% }9 y3 u5 K+ F4 O const updateDevice = (e: MediaQueryListEvent | MediaQueryList) => {
7 I4 F; F* f$ C isMobile.value = e.matches- e' {# M: ~8 L0 P, k2 ]4 d
}& O; r* t, H+ C* f' e& }% S
% ^2 o, k% k2 o! a1 ~7 q4 m
// |
|