在本课程中,您将为Blazor开发设置计算机,并构建您的第一个Blazor应用程序。

 

安装

 

要开始使用blazor , 请按照 ASP.NET Core Blazor 入门 说明进行操作.

  1. 若要创建 Blazor Server 应用,请安装带有 ASP.NET 和 Web 开发工作负载的 Visual Studio 2019 的最新版本  。

    若要创建 Blazor Server 应用和 Blazor WebAssembly 应用,请安装带有 ASP.NET 和 Web 开发工作负载的 Visual Studio 2019 的最新预览版  。

    有关 Blazor WebAssembly 和 Blazor Server 这两个 Blazor 托管模型的信息,请参阅 ASP.NET Core Blazor 托管模型   。

  2. 通过运行以下命令来安装 Blazor WebAssembly 预览版模板:

    .NET Core CLI

     

     

    dotnet new -i Microsoft.AspNetCore.Components.WebAssembly.Templates::3.2.0-rc1.20223.4
    
  3. 创建新项目。

  4. 选择“Blazor 应用”  。 选择“下一步”  。

  5. 在“项目名称”字段提供项目名称,或接受默认项目名称  。 确认“位置”  条目正确无误或为项目提供位置。 选择“创建”  。

  6. 若要获得 Blazor WebAssembly 体验(Visual Studio 16.6 预览版 2 或更高版本),请选择“Blazor WebAssembly 应用”模板  。 若要获得 Blazor Server 体验(Visual Studio 16.4 或更高版本),请选择“Blazor Server 应用”模板  。 选择“创建”  。

  7. 按 Ctrl+F5 运行应用

侧栏中的选项卡提供多个页面:

 

  • Home

  • 计数器

  • 提取数据

 

在“计数器”页上,选择“单击我”  按钮,在不刷新页面的情况下增加计数器值。 递增网页的计数器值通常需要编写 JavaScript,但借助 Blazor,可使用 C#。

 

Pages/Counter.razor

  •  
@page "/counter"
<h1>Counter</h1>
<p>Current count: @currentCount</p>
<button class="btn btn-primary" @onclick="IncrementCount">Click me</button>
@code {    private int currentCount = 0;
    private void IncrementCount()    {        currentCount++;    }}

 

浏览器中针对 /counter 的请求(由顶部的 @page 指令指定)会导致 Counter 组件呈现其内容。 组件呈现为呈现树的内存中表现形式,之后可使用它灵活高效地更新 UI。

 

每次选择“单击我”按钮时会出现以下情况  :

 

  • 触发 onclick 事件。

  • 调用 IncrementCount 方法。

  • 递增 currentCount 的值。

  • 再次呈现组件。

 

运行时将新内容与之前内容进行比较,且仅将已更改内容应用于文档对象模型 (DOM)。

 

使用 HTML 语法将组件添加到另一个组件。 例如,通过将 <Counter /> 元素添加到 Index 组件,可将 Counter 组件添加到应用的主页。

 

Pages/Index.razor

  •  
@page "/"
<h1>Hello, world!</h1>
Welcome to your new app.
<Counter />

 

运行应用。 主页拥有其自己的计数器,该计数器由 Counter 组件提供。

 

组件参数使用特性或子内容指定,允许在子组件上设置属性。 若要将参数添加到 Counter 组件,请更新组件的 @code 块:

 

  • 使用 [Parameter] 特性为 IncrementAmount 添加公共属性。

  • 增加 currentCount 的值时,更改 IncrementCount 方法以使用 IncrementAmount

 

Pages/Counter.razor:

@page "/counter"

<h1>Counter</h1>

<p>Current count: @currentCount</p>

<button class="btn btn-primary" @onclick="IncrementCount">Click me</button>

@code {
    private int currentCount = 0;

    [Parameter]
    public int IncrementAmount { get; set; } = 1;

    private void IncrementCount()
    {
        currentCount += IncrementAmount;
    }
}

 

使用特性在 Index 组件的 <Counter> 元素中指定 IncrementAmount

 

Pages/Index.razor

  •  
@page "/"
<h1>Hello, world!</h1>
Welcome to your new app.
<Counter IncrementAmount="10" />

运行应用。 Index 组件拥有其自己的计数器,每次选择“单击我”按钮时,计数器值递增 10  。 /counterCounter 组件 (Counter.razor) 的值继续递增 1。

构建第一个Blazor应用程序

 

一旦运行了第一个Blazor应用程序, 请尝试 构建你的第一个 Blazor 应用程序. https://docs.microsoft.com/zh-cn/aspnet/core/tutorials/build-your-first-blazor-app?view=aspnetcore-3.1