EventAggregator备选方案



我一直在尝试在这里使用此版本的EventAggregator

我一直在Blazor Server应用程序中使用它,这是对使用EventAggregator的旧Silverlight应用程序的重写。然而,我遇到了很多问题。最近的一个问题是,它没有在应该的时候触发事件(不知道为什么它不能正常工作(。

无论如何,我正在寻找另一种模式。

我正在寻找的是一种告诉多个组件;CurrentCustomer";已更改,以便组件可以自行更新。

有推荐的模式或方法吗?

这是我找到的Blazor的唯一EventAggregator:https://mikaelkoskinen.net/post/blazor-eventaggregator-2-0-0-auto-refresh

唯一值得注意的是,当前默认值如下:

builder.Services.AddScoped<EventAggregator.Blazor.IEventAggregator, EventAggregator.Blazor.EventAggregator>();//Use this.
//builder.Services.AddEventAggregator(); Not this. It adds it as a singleton which is NOT what we want. Change requested of author. The Events will be propagated to every user everywhere, instead of just the current user.

到目前为止,我发现的最好的东西是StateContainer:这里它只是一个保存状态的简单类,您可以订阅它的事件。

两年后,我现在使用了一种不同于尝试激发和捕捉事件的方法。事件导致内存问题,在Blazor Server这样的基于组件的环境中无法正常工作。

我没有使用事件,而是使用内置的级联参数将参数向下传递到所有需要它们的组件。

因此,例如,如果您有一个CurrentCustomer的级联参数,它会将其传播到组件的层次结构中。

相关内容

  • 没有找到相关文章

最新更新