|
|
楼主 |
发表于 2026-6-21 15:17:46
|
显示全部楼层
创建 Pinia 全局 Store新建文件 src/stores/device.ts。我们把设备监听逻辑直接写在 Store 内部。typescriptimport { defineStore } from 'pinia'3 _9 {* T m" d% v! ]
import { ref } from 'vue'4 v u/ @, c! o0 G# a) L
4 w; s. {8 g0 \5 v. N
export const useDeviceStore = defineStore('device', () => {
# Y5 g2 F( Y q- a) v( [ const isMobile = ref(false)6 D$ ~5 Z5 r' B2 x, h
let mediaQuery: MediaQueryList | null = null- m6 p! b1 z, Y: _" w
/ |7 q; l& n4 ~/ c0 ?" }
const updateDevice = (e: MediaQueryListEvent | MediaQueryList) => {' I4 N, o5 ?, e) M" Y0 W
isMobile.value = e.matches
+ S0 a9 K# p1 O6 l' ?( j }
, m4 P9 G4 ]( B I9 Q3 {
, q1 t0 I* f) [$ l // |
|