如何从 blazor 中的子组件获取属性

Posted

技术标签:

【中文标题】如何从 blazor 中的子组件获取属性【英文标题】:How can i get properties from child component in blazor 【发布时间】:2021-12-11 16:12:16 【问题描述】:

我需要从 stockcomponents 获取计数 我的父组件使用子组件。对于此代码,计数为 0,但实际上数据更多

<Heading Size="HeadingSize.Is4">Count @ItemCount Entries</Heading>
<StockComponent @ref=stockComponent />

StockComponent stockComponent;
int ItemCount ;
protected override async Task OnAfterRenderAsync(bool firstRender)

    if(firstRender)
    
         ItemCount = stockComponent.Count();
         StateHasChanged();
    

** 我的 StockComponent **

private int count;
protected override async Task OnAfterRenderAsync(bool firstRender)

    if(firstRender)
    
        Items = await db.Item.ToListAsync();
        count =  Items.Count;
        StateHasChanged();
    

public int Count () 

        return count;

【问题讨论】:

【参考方案1】:

您需要two-way binding。 另外:

OnInitializedAsync()中获取项目 您不必致电StateHasChanged()

【讨论】:

以上是关于如何从 blazor 中的子组件获取属性的主要内容,如果未能解决你的问题,请参考以下文章

我们可以在常规的非 Blazor HTML 页面中将 Blazor 组件用作 Web 组件吗?

Blazor Server App MVVM-Pattern:通过 Startup.cs 中的服务类从 App-State 的子组件更改中获取父级通知

Blazor University (45)依赖注入 —— 将依赖项注入 Blazor 组件

从 Blazor 中的页面组件调用 MainLayout 中的方法

如何像 Vue 一样从父层向 Blazor 组件随机添加 CSS 属性?

如何从 Blazor 中的另一个组件重新渲染一个组件?