本文转载自微信公众号“技术翻译站”,作者:技术翻译敏。转载本文请联系技术翻译站公众号。翻译自WaqasAnwar于2021年3月19日发表的文章《A Beginner’s Guide to Blazor Components》[1]Blazor应用程序是组件的组合,这些组件不仅负责呈现用户界面,而且协同工作以促进用户交互。它们是Blazor应用程序的主要构建块,大多数Blazor功能都围绕组件展开。在本教程中,我将向你详细介绍组件,并向你展示在Blazor应用程序中创建和使用它们的各种技术。下载源代码[2]Blazor组件概述Blazor组件是UI的独立部分,例如页面、侧边栏菜单、联系表单或仪表板小部件。它包括用于呈现UI的HTML标记和用于操作数据或处理用户事件的C#代码。组件可以相互嵌套并在一个项目中重复使用,甚至可以跨多个项目重复使用。Blazor组件作为Razor组件实现,这就是它们使用Razor语法并具有.razor文件扩展名的原因。要了解Blazor组件的结构及其工作原理,让我们回顾一下Counter.razor组件(如果您在VisualStudio2019中使用Blazor应用程序模板,它会自动为我们生成)。下面是Counter.razor的完整代码。@page"/counter"
Counter
Currentcount:@currentCount
点我@code{privateintcurrentCount=0;privatevoidIncrementCount(){currentCount++;}}文件中的第一行使用Razor@page指令指定组件的路由。这意味着Counter组件是一个页面级或可路由组件,可以在浏览器中使用URL末尾的路径/counter进行访问。如果我们不指定@page指令,该组件将成为子组件,可以通过将其嵌套在其他组件中来使用。@page"/counter"如下图,我们也可以声明多个@page级别的指令。这将允许我们使用两个URL访问该组件。@page"/counter"@page"/mycounter"在@page指令之后,是一个HTML标签,指定了这个组件的UI。这些标记可以使用Razor语法通过表达式、条件或循环动态呈现HTML。在上面的Counter组件示例中,它的UI由一个标题(h1)、一个段落(p)和一个按钮(button)元素组成。段落(p)元素使用Razor语法输出C#代码块中定义的currentCount变量的值。Currentcount:@currentCount
按钮(button)元素通过调用方法IncrementCount来响应用户点击,该方法也在代码块中定义。Clickme最后,有一个代码块,每次调用IncrementCount方法时,我们只需将currentCount变量的值增加1。@code{privateintcurrentCount=0;privatevoidIncrementCount(){currentCount++;}}当Blazor应用程序编译时,HTML标记和C#代码被转换成一个组件类,其类名与组件的文件名相对应。这个类的成员和我们在@code中定义的变量和方法是一样的。允许多个@code块,编译后全部合并到同一个组件类中。在VisualStudio2019中创建Blazor组件如果要创建页面级组件,请右键单击“页面”文件夹并选择“添加”>“Razor组件...”菜单选项。您还可以在解决方案资源管理器中右键单击项目名称,然后使用Razor组件模板创建一个组件。让我们创建一个名为Calculator.razor的组件并添加以下代码。Calculator.razor@page"/calculator"计算器
Number1