多页面导航
Sparkling 采用原生容器模型,每个页面运行在独立的原生容器及其对应的 LynxView 中。页面之间通过 scheme URL 驱动导航。
在构建配置的 source.entry 中定义的每个入口——无论是 app.config.ts 中的 lynxConfig 还是独立的 lynx.config.ts——都会生成一个可导航的 bundle。无需路由注册:bundle 构建完成后,任何页面都可以通过 navigate() 函数使用 bundle 路径跳转到该页面。
工作原理
调用 navigate() 时,Sparkling 会:
- 构建 scheme URL(如
hybrid://lynxview_page?bundle=detail.lynx.bundle&title=Detail) - 将 URL 交给原生层,由原生层打开一个新容器
- 新容器加载目标 bundle,并通过
lynx.__globalProps.queryItems接收 URL 中的查询参数
基础导航
使用 sparkling-navigation 的 navigate() 方法,通过 bundle 路径打开另一个页面:
params 对象支持所有预定义 key(title、hide_nav_bar、screen_orientation 等),也支持任意自定义 key。
传递自定义数据
你在 params 中添加的任何 key 都会被拼接到 scheme URL 的查询参数中。在目标页面通过 lynx.__globalProps.queryItems 读取:
页面 A — 发送方:
页面 B — 接收方:
所有 query item 的值都是字符串类型。如需其他类型,请自行转换(如
Number(itemId))。
关闭页面
调用 close() 关闭当前页面,返回上一个页面:
也可以通过容器 ID 关闭特定页面:
完整示例
以下是一个最简两页应用。

