Fix #30 Client-side Routing Broken in Preview6

This commit is contained in:
Shaun Walker 2019-06-19 20:47:58 -04:00
parent 59a715e468
commit a7e53486b3

View File

@ -8,6 +8,8 @@
@using Microsoft.AspNetCore.Components.Routing
@inject SiteState SiteState
@inject IUriHelper UriHelper
@inject INavigationInterception NavigationInterception
@inject IComponentContext ComponentContext
@inject IJSRuntime jsRuntime
@inject IAliasService AliasService
@inject ITenantService TenantService
@ -17,6 +19,7 @@
@inject IModuleService ModuleService
@inject IModuleDefinitionService ModuleDefinitionService
@inject IThemeService ThemeService
@implements IHandleAfterRender
@DynamicComponent
@ -26,9 +29,11 @@
[Parameter] Action<PageState> OnStateChange { get; set; }
RenderFragment DynamicComponent { get; set; }
private string _absoluteUri;
PageState pagestate;
RenderFragment DynamicComponent { get; set; }
string _absoluteUri;
bool _navigationInterceptionEnabled;
protected override void OnInit()
{
@ -240,12 +245,17 @@
private async void OnLocationChanged(object sender, LocationChangedEventArgs args)
{
_absoluteUri = args.Location;
await LocationChanged();
await Refresh();
}
public async Task LocationChanged()
Task IHandleAfterRender.OnAfterRenderAsync()
{
await Refresh();
if (!_navigationInterceptionEnabled && ComponentContext.IsConnected)
{
_navigationInterceptionEnabled = true;
return NavigationInterception.EnableNavigationInterceptionAsync();
}
return Task.CompletedTask;
}
private Dictionary<string, string> ParseQueryString(string path)