在Blazor中,可以使用依赖注入(Dependency Injection)来在组件之间共享对象。通过将要共享的对象注入到服务中,然后以构造函数的方式将服务注入到组件中,就可以在多个组件中共享同一个对象。
以下是一个示例,演示了如何在两个组件中共享同一个对象:
public class MyService { public object SharedObject { get; set; } = new object(); }
services.AddSingleton
@inject MyService MyServiceInstance
在此示例中,当单击按钮时,将创建一个新的对象并将其赋给MyService实例中的SharedObject属性。 由于该服务以单例模式注册,因此该对象将在应用程序的所有组件中共享。
请注意,Blazor还提供了其他用于在组件之间共享数据的方法,例如使用组件参数、Cascading Values等。 但这里的解决方法以注入服务为重点,因为它是一种通用方法,可用于在所有组件、路由和页面之间共享对象。