c# - 如何在 Blazor 组件初始化中限制事件订阅
问题描述
当我尝试在初始化 blazor 组件时订阅事件时,每次刷新或导航到页面时,都会一次又一次地调用 OnInitializedAsync 方法,然后事件的调用列表会增加很多。如何只限制一次联播?
@code {
[Parameter]
public CustomerModel model { get; set; }
protected override async Task OnInitializedAsync()
{
await base.OnInitializedAsync();
model.PropertyChangedEvent += PropertyChanged;
}
}
解决方案
通常,每当我绑定一个事件时,我总是先取消绑定它。这是为了确保只有 1 个相同的处理程序只绑定一次。
model.PropertyChangedEvent -= PropertyChanged;
model.PropertyChangedEvent += PropertyChanged;
推荐阅读
- scala - 将 Dataset[immutable.Iterable[(String, String, String)]] 转换为 Spark Dataset[(String, String, String)]
- json - ElasticSearch - 索引和搜索嵌套的 JSON 记录,其中键的嵌套级别因 JSON 文档而异
- node.js - 如何在 Nodejs 中以特定格式从 CSV 读取日期?
- azure - Spring Boot Cassandra InvalidQueryException
- python - AES python解密和加密
- laravel - 数据被截断 - $faker->randomElements
- python - 使用循环确定 numpy 数组的最小值和最大值
- bash - 静默 /dev/tcp/host/port 重定向错误
- tensorflow - 如何像循环学习率一样做循环动量?
- python - 如何使用 Matplotlib 在 Python 中自动排序堆积条形图?