首页 > 解决方案 > 如何在 Blazor 组件初始化中限制事件订阅

问题描述

当我尝试在初始化 blazor 组件时订阅事件时,每次刷新或导航到页面时,都会一次又一次地调用 OnInitializedAsync 方法,然后事件的调用列表会增加很多。如何只限制一次联播?

@code {
[Parameter]
public CustomerModel model { get; set; }


protected override async Task OnInitializedAsync()
{
    await base.OnInitializedAsync();
    model.PropertyChangedEvent += PropertyChanged;

}
}

标签: c#.net-coreevent-handlingblazor

解决方案


通常,每当我绑定一个事件时,我总是先取消绑定它。这是为了确保只有 1 个相同的处理程序只绑定一次。

model.PropertyChangedEvent -= PropertyChanged;
model.PropertyChangedEvent += PropertyChanged;

推荐阅读