You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Uno Platform WASM URL路由:获取URL实现博客引擎路由无文档参考

在 Uno Platform 中获取 URL 并实现路由处理

1. 获取当前 URL

Uno Platform 内置路由系统,可通过以下方式获取 URL 信息:

  • 桌面/Web 端:直接通过Router.Current.Source获取完整 URL:
var currentUrl = Router.Current.Source.AbsoluteUri;
  • 移动端:从路由状态中解析路径(对应深层链接):
var routeState = Router.Current.GetState();
var path = routeState.Path; // 提取路由路径部分

2. 路由映射到页面/方法

注册路由规则

在应用启动阶段注册路由与页面的映射关系:

Router
    .RegisterRoute("/blog/post/{postId}", typeof(PostDetailPage))
    .RegisterRoute("/blog/category/{categoryName}", typeof(CategoryPage));

解析参数并调用方法

在目标页面的OnNavigatedTo事件中解析路由参数,执行对应业务方法:

protected override void OnNavigatedTo(NavigationEventArgs e)
{
    base.OnNavigatedTo(e);
    if (e.Parameter is RouteState routeState)
    {
        if (routeState.TryGetParameter("postId", out string postId))
        {
            LoadPostDetail(postId); // 调用加载文章详情的方法
        }
    }
}

3. 监听 Web 端 URL 变化

在 Web 端的Program.cs中配置路由变化监听,处理动态 URL 请求:

builder.Services.AddUnoNavigation();
builder.Services.Configure<RouterOptions>(options =>
{
    options.RouteChanged += (sender, args) =>
    {
        var currentUrl = args.NewState.Source.AbsoluteUri;
        // 在这里处理 URL 变化后的逻辑
    };
});

内容的提问来源于stack exchange,提问作者Paolo A

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.25 13:48:22