Blazor服务器端应用程序初始连接时出现空白屏幕

Blazor服务器端应用程序初始连接时出现空白屏幕,blazor,blazor-server-side,Blazor,Blazor Server Side,我有一个Blazor服务器端应用程序,远程地区的用户可以通过较慢的internet连接查看该应用程序。在浏览器中键入URL后,它会在几秒钟内显示一个空白屏幕,然后显示“我的加载动画”,然后加载内容 加载动画是我在等待API调用返回数据时在页面上看到的内容。没什么特别的。但是,空白屏幕呢?是否在浏览器试图建立与服务器的信号机连接时 我可以用慢速,但有没有办法在建立连接时也使用加载动画?空白屏幕一点也不理想 谢谢您的建议。如何更改加载指示器,使其从一开始就可见,如果您有布尔字段,则最初将为真。这样,

我有一个Blazor服务器端应用程序,远程地区的用户可以通过较慢的internet连接查看该应用程序。在浏览器中键入URL后,它会在几秒钟内显示一个空白屏幕,然后显示“我的加载动画”,然后加载内容

加载动画是我在等待API调用返回数据时在页面上看到的内容。没什么特别的。但是,空白屏幕呢?是否在浏览器试图建立与服务器的信号机连接时

我可以用慢速,但有没有办法在建立连接时也使用加载动画?空白屏幕一点也不理想


谢谢您的建议。

如何更改加载指示器,使其从一开始就可见,如果您有布尔字段,则最初将为真。这样,一旦显示页面,您就会看到加载屏幕,在获取API数据后,您可以将其标记为隐藏

下面是剃须刀的一些示例代码:

@if (IsLoading)
{
    <div class="loader">Loading...</div>
}


@code {
    public bool IsLoading { get; set; } = true;

    protected override async Task OnInitializedAsync()
    {
        await _apiClient.Get(...);
        IsLoading = false;
    }
}
@if(正在加载)
{
加载。。。
}
@代码{
public bool IsLoading{get;set;}=true;
受保护的重写异步任务OnInitializedAsync()
{
等待客户。获得(…);
IsLoading=false;
}
}

如果您的动画使用的是JavaScript,请注意,第一次加载页面时不会首先加载JavaScript。发布一个。这正是我以前实现它的方式。它是这样工作的