useQuery
获取页面传递的参数,支持自动解析 JSON 字符串。
useQuery
获取页面传递的参数,支持自动解析 JSON 字符串。
特性
- 🚀 简单易用 - 一行代码获取页面参数
- 🎯 智能解析 - 自动识别并解析 JSON 字符串
- 🔧 灵活配置 - 可选择开启或关闭 JSON 解析
- 📱 响应式 - 支持响应式参数键
- 🛡️ 类型安全 - 完整的 TypeScript 类型支持
- 🌐 编码兼容 - 支持 URL 编码的 JSON 数据
使用方法
基础用法
获取特定参数
自动解析 JSON 数据
禁用 JSON 解析
响应式参数键
支持的 JSON 格式
encodeURIComponent + JSON.stringify(推荐)
直接 JSON.stringify
API 参考
useQuery()
获取所有页面参数。
useQuery(key, options?)
参数
- key: MaybeRefOrGetter<string>- 要获取的参数键名,支持响应式
- options: UseQueryOptions- 配置选项
UseQueryOptions
返回值
- query: Ref<Record<string, any>>- 所有页面参数(仅在不传 key 时返回)
- value: Ref<any>- 指定参数的值(仅在传入 key 时返回)
辅助函数
tryParseJson
尝试解析 JSON 字符串,支持自动处理 URL 编码。
特性:
- 智能检测 JSON 格式
- 自动处理 URL 编码(encodeURIComponent)
- 解析失败时返回原始字符串
- 处理各种边界情况
示例:
API
实际使用场景
场景一:商品详情页
场景二:订单页面
场景三:混合参数
注意事项
- JSON 解析优先级:先尝试直接解析,失败后尝试 URL 解码再解析
- 类型安全:建议配合 TypeScript 使用以获得更好的类型提示
- 性能考虑:JSON 解析在 onLoad生命周期中执行,不会影响页面性能
- 错误处理:解析失败时会保持原始字符串值,不会抛出错误
- 响应式更新:参数值在页面生命周期内保持响应式
- 编码建议:推荐使用 encodeURIComponent来确保特殊字符的正确传输