2

我正在学习 Blazor。 https://learn-blazor.com/

BuildRenderTree(RenderTreeBuilder builder)通过覆盖类的方法,我在 C# 中创建组件时遇到了一些困难BlazorComponent

这是我的课:

   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);但无论哪种方式它都不会呈现。我让组件变得非常简单(只是一个段落标签、一个强标签和一个内容),所以我不知道为什么它不会呈现。代码构建得很好。

谁能看到我做错了什么?

4

1 回答 1

4

首先不要再使用那个网站了。我通过该网站了解了 Blazor。这是一个很棒的网站,这个人做了很棒的工作。但是很可惜,他停止了更新,至少在过去的六个月里。材料已经陈旧而无用。现在,我不知道有什么好的替代品。

试试这个:

  1. 放置base.BuildRenderTree(builder);在 BuildRenderTree 方法的开头,而不是结尾。

  2. 使用ComponentBase而不是BlazorComponent... BlazorComponent 已死...

  3. 始终从0序列参数的值开始。
于 2018-12-02T17:33:25.303 回答