|
|
楼主 |
发表于 2026-6-21 15:17:48
|
显示全部楼层
创建 Pinia 全局 Store新建文件 src/stores/device.ts。我们把设备监听逻辑直接写在 Store 内部。typescriptimport { defineStore } from 'pinia', l7 w' n! R1 j5 N3 }% \' g
import { ref } from 'vue'
/ O! C, B% f/ ?+ n% O/ w9 T$ o1 q0 O" r9 t% j! V \! i. \
export const useDeviceStore = defineStore('device', () => {
f) d3 W X2 S" d) e) F: h5 q+ k const isMobile = ref(false) L! q" ]% M" {* Q* B+ e
let mediaQuery: MediaQueryList | null = null9 S% Q6 R" W1 B" ~" ^, v [
6 ]: E1 I0 j+ t4 R- Y% L( P) s
const updateDevice = (e: MediaQueryListEvent | MediaQueryList) => { ~& \) r, `- u3 y: m
isMobile.value = e.matches
+ q( N7 u0 y& E' K6 z+ f: r: H }* ^" ]( R* i2 i1 |5 m" m
' F6 {# @2 C, B0 M* y4 ]+ ?, O4 a! I
// |
|