我尝试了不同的方法来防止这种情况发生。
更改为后,render-mode="Server"
我能够在第一次加载时阻止渲染两次。
但现在当我刷新页面时,元素数量仍然增加一倍。
这是我所拥有的
<div id="component-wrapper" class="row">
@if (Items != null)
{
@foreach (var item in Items )
{
<ItemComponent Item="@item" />
}
}
</div>
@code {
[Inject]
private IItemService ItemService { get; set; }
List<ItemViewModel> Items { get; set; }
protected override async Task OnInitializedAsync()
{
Items = await ItemService.GetItemsAsync();
base.OnInitialized();
}
}
Run Code Online (Sandbox Code Playgroud)
我已经阅读了预渲染后的状态重新连接部分,它似乎对我不起作用。
小智 6
对我来说,这个脚本在 _Hosts.cshtml 上重复
<script src="_framework/blazor.server.js"></script>
Run Code Online (Sandbox Code Playgroud)
删除其中之一后问题就解决了。
对于 Blazor 服务器,修改_Host.cshtml
为我解决了这个问题:
前
<component type="typeof(App)" render-mode="ServerPrerendered" />
Run Code Online (Sandbox Code Playgroud)
后
<component type="typeof(App)" render-mode="Server" />
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
7344 次 |
最近记录: |