Skip to main content

NavigationBridge

Function NavigationBridge 

Source
pub fn NavigationBridge() -> impl IntoView
Expand description

连接 JS 协调器;放在 <Router> 内、<Routes> 前,不渲染 DOM。

整棵树(含懒加载路由分包)水合完毕后才连接,并随即在 <html> 上置 data-hydrated (浏览器回归脚本与性能测试等它出现再操作)。水合期间路由器换页会让后续节点对不上 SSR 输出,水合 panic 后整个 WASM 失效、站内链接全部点不动;未连接时协调器把站内 链接点击交还浏览器整页跳转(见 route-transitions.ts 的 onClick)。

连接后协调器每次发布新路由(视图过渡的 update 回调里)都会通知这里, 这里读取已被 JS 写好的地址栏并设置 BrowserUrl 的 URL 信号,路由器随即渲染新页面。