Blazor通过列表 组件之间>]

问题描述 投票:1回答:2

我的代码有问题,我的页面布局如下。我正在与数据库通信以获取主要内容的数据。我从数据库中获取的是List<SomeClass>。现在,我想将相同的List<SomeClass>用于RightContent。这两个组件都是自定义的,并且具有不同的布局,但是可以共享相同的列表,而不必两次调用相同的控件。 (顺序是首先调用MainContent Initialized()方法)

我使用以下属性创建了服务类AppDataService。也已在启动时添加到IServiceCollection services

public List<SomeClass> sharedListOfSomeClass = new List<SomeClass>();

在MainContent中,我正在注入AppDataService并为sharedListOfSomeClass分配数据库值。现在,如果我在正确的内容中注入AppDataService并尝试访问sharedListOfSomeClass,我将其获取为null。

我知道我在这里缺少绑定,因为这两个组件在html方面都不同,并且无法将其绑定到任何html标签。

任何人都可以帮助我实现这一目标。我想对两个组件都进行一次数据库调用。

enter image description here

我的代码有问题,我的页面布局如下。我正在与数据库通信以获取主要内容的数据。从数据库中获取的是List 。现在我要...

asp.net-core binding components blazor data-sharing
2个回答
1
投票

一个选项是将列表作为参数传递给组件。在组件的代码中定义一个参数。


0
投票

如果要拥有应用程序的某些全局状态并在不同组件之间共享,最合理的方法是创建一个将包含全局状态数据的State类。>

public class State
{
    public List<SomeClass> SomeClassObjectsCollection { get; set; } = new List<SomeClass>();
}
© www.soinside.com 2019 - 2024. All rights reserved.