|
|
7 I; [% R: W" Y3 O F2 `. z
创建 Pinia 全局 Store新建文件 src/stores/device.ts。我们把设备监听逻辑直接写在 Store 内部。
2 v. ?( R9 S$ }# ^* s( b) N
. l+ t* {& Q) G" t+ H" Oimport { defineStore } from 'pinia' H/ z7 ]. U' T4 F- i' [
import { ref } from 'vue'* U" y3 K1 E7 \9 U3 R
. L1 k C: m, g2 a( g! m
export const useDeviceStore = defineStore('device', () => {3 p& F; A( U- B; Z# N) K& a: ~
const isMobile = ref(false)# y2 n$ x- Y- W2 G3 f4 K% c9 a2 ?4 p1 g
let mediaQuery: MediaQueryList | null = null% H9 W8 I; d6 Y9 X6 i* e" ]2 S
# X6 b+ c; ]" Q! b1 y
const updateDevice = (e: MediaQueryListEvent | MediaQueryList) => {6 h& ]( N5 a. ^
isMobile.value = e.matches. k- N( R& @: t% [6 r
}
) n3 A7 b" S5 m: E+ s& h% ~2 w
% b8 y3 P; O: `( r/ R/ X: D // |
|