|
|
! F3 y, C& m( n; R
创建 Pinia 全局 Store新建文件 src/stores/device.ts。我们把设备监听逻辑直接写在 Store 内部。
+ ]% r6 ^, B0 ]2 ]4 s$ ~5 _5 ]+ Y6 U7 ], a# z& b! ?
import { defineStore } from 'pinia'8 K" w) P# m. l* g' c6 G4 V
import { ref } from 'vue'
$ {7 P3 ?) B% @: K, @
3 M; i& ^' H( Q6 q* fexport const useDeviceStore = defineStore('device', () => {
/ C5 H( V, { O const isMobile = ref(false)& k1 J# u: D; |4 i s2 B# Y
let mediaQuery: MediaQueryList | null = null$ _ C) ^1 y% q$ c G5 ?! g
; J% U9 S5 _! E2 ]7 ?
const updateDevice = (e: MediaQueryListEvent | MediaQueryList) => {
# X" i9 \( E' O9 K; F isMobile.value = e.matches, E5 `5 E# S+ E( i. N
}
+ B% d1 T+ Z( S# B3 f8 O
" f% I$ U0 D9 h+ y; t // |
|