【发布时间】:2020-02-25 17:30:33
【问题描述】:
我有一个带有两个 url 参数的页面:
@page "document/{partition}/{id}"
如果我输入一个网址,比如https://somehost:1234/document/abcd/xyz123,页面加载正常。
我已经注册了一个 LocationChanged 事件,它做了一些事情:
private async void OnLocationChanged(object sender, LocationChangedEventArgs e)
{
await DoStuff();
}
我遇到的问题是,如果我有一个带有href="/document/klmn/defg9876" 的锚标记链接并单击该链接,我的事件会触发,但我的浏览器无法导航并加载新文档。如果我将NavigateTo(e.Location) 添加到我的事件处理程序中,我会得到一个无限循环。
如何让 Blazor 在处理我的事件后继续导航到 url?
编辑
如果我添加一个返回主页的链接,那么我可以从document 页面转到home 页面。在两个 document 链接之间,浏览器中的 url 会发生变化,但 OnInitialized 不会为新的 url 运行。我显然面临着页面生命周期的挑战。
【问题讨论】: