我正在学习Blazor。https://learn-blazor.com/
通过重写BlazorComponent
类的BuildRenderTree(RenderTreeBuilder builder)
方法,我在C#中创建组件时遇到了一些困难。
这是我的课:
public class TestComponent : BlazorComponent
{
protected override void BuildRenderTree(RenderTreeBuilder builder)
{
builder.OpenElement(1, "p");
builder.OpenElement(2, "strong");
builder.AddContent(3, "hello");
builder.CloseElement();
builder.CloseElement();
base.BuildRenderTree(builder); // With or without this line it doesn't work
}
}
我在我的页面中使用它,如下所示:
<TestComponent></TestComponent>
我已经测试了它是否有最后一行base.BuildRenderTree(builder);
,但无论哪种方式,它都不会呈现。我把这个组件做得很简单(只有一个段落标记、强标记和一个内容单词(,所以我不知道为什么它不会呈现。代码构建得很好。
有人能看到我做错了什么吗?
首先不要再使用那个网站了。我通过那个网站学会了Blazor。这是一个很好的网站,这个家伙做得很好。但遗憾的是,他停止了更新,至少在过去的六个月里是这样。这些材料变得陈旧无用。现在,我还不知道有什么好的替代品。
试试这个:
-
将
base.BuildRenderTree(builder);
放置在BuildRenderTree方法的开头,而不是末尾。 -
使用
ComponentBase
而不是BlazorComponent
。。。BlazorComponent死了。。。 - 序列参数始终以值
0
开头