Blazor清除OnInitializedAsync路由参数
创始人
2024-12-21 12:30:39
0

当使用Blazor中的路由参数时,经常需要在OnInitializedAsync生命周期方法中初始化组件。但是,当路由参数更改时,组件不会自动重新初始化。因此,我们需要在OnParametersSetAsync方法中手动重置路由参数。

以下是一个示例组件,演示如何在OnParametersSetAsync方法中重置路由参数:

@page "/mycomponent/{id}"
@inject NavigationManager NavigationManager

@Title

@code { private int _id; private string _title; [Parameter] public int Id { get => _id; set { if (_id != value) { _id = value; } } } public string Title => _title; protected override async Task OnInitializedAsync() { await LoadData(_id); } protected override async Task OnParametersSetAsync() { await LoadData(_id); } private async Task LoadData(int id) { // Do some data loading based on the current route id // ... _title = "Loaded data for id " + id; } // Reset the id and re-run OnInitializedAsync when navigating to this component protected override async Task OnNavigatedToAsync(NavigationEventArgs args) { if (args.Uri != null) { var uri = new Uri(args.Uri); if (int.TryParse(uri.Segments.Last(), out _id)) { await OnInitializedAsync(); } } } }

在这个示例中,我们重写了OnNavigatedToAsync方法来获取当前路由参数并重新初始化组件。我们还重写了Id属性的set方法,确保仅在参数发生更改时才重新初始化路由参数。这允许组件更快地响应路由参数更改,并减少了不必要的初始化。

相关内容

热门资讯

黑科技辅助!wepoke有挂真... 黑科技辅助!wepoke有挂真的有挂,(微扑克机器人)原生有挂,微扑克教程(真的有挂);是一款可以让...
黑科技辅助!wepoke黑科技... 黑科技辅助!wepoke黑科技ai设备,(WPK好友)原本有挂,新2025版(果真有挂);一、WPK...
黑科技辅助!wepoke黑科技... 黑科技辅助!wepoke黑科技ai设备,(红龙扑克辅助)真是是有挂,规律教程(有挂秘笈)是一款可以让...
黑科技辅助!wepoke智能a... 黑科技辅助!wepoke智能ai,(德扑之星规律)固有有挂,普及教程(有挂方式);德扑之星规律是一款...
黑科技辅助!wepoke有挂真... 黑科技辅助!wepoke有挂真的有挂,(鱼扑克规律)原本存在有挂,揭秘教程(有挂规律);1、这是跨平...
黑科技辅助!wepoke智能a... 黑科技辅助!wepoke智能ai,(微扑克辅助工具)竟然真的是有挂,详细教程(有挂透明挂),微扑克辅...
黑科技辅助!wepokeai代... 您好:红龙扑克作假这款游戏可以开挂的,确实是有挂的,很多玩家在这款游戏中打牌都会发现很多用户的牌特别...
黑科技辅助!wepokeai代... 黑科技辅助!wepokeai代打,(WPK程序)确实是有挂,靠谱教程(有挂教学)是一款可以让一直输的...
黑科技辅助!wepoke智能a... 黑科技辅助!wepoke智能ai辅助工具,(WPK新版)总是真的有挂,2025新版技巧(确实有挂)是...
黑科技辅助!wepoke透明黑... 您好,WePoKe抽水这款游戏可以开挂的,确实是有挂的,需要了解加微【136704302】很多玩家在...