企业网站建设指标,临沂做网站建设公司,制作二维码生成器,网站建设续费多少钱原文链接#xff1a;https://blazor-university.com/components组件所有呈现的 Blazor 视图都来自 ComponentBase 类#xff0c;这包括布局、页面和组件。Blazor 页面本质上是一个带有 page 指令的组件#xff0c;该指令指定浏览器必须导航到的 URL 才能呈现它。事实上… 原文链接https://blazor-university.com/components组件所有呈现的 Blazor 视图都来自 ComponentBase 类这包括布局、页面和组件。Blazor 页面本质上是一个带有 page 指令的组件该指令指定浏览器必须导航到的 URL 才能呈现它。事实上如果我们比较生成的组件代码和页面代码差别很小。可以在文件夹 obj\Debug\netcoreapp3.0\Razor\Pages 中的 Counter.razor.g.cs 中找到以下生成的源代码。namespace MyFirstBlazorApp.Client.Pages
{[Microsoft.AspNetCore.Components.LayoutAttribute(typeof(MainLayout))][Microsoft.AspNetCore.Components.RouteAttribute(/counter)]public class Counter : Microsoft.AspNetCore.Components.ComponentBase{protected override void BuildRenderTree(Microsoft.AspNetCore.Components.RenderTree.RenderTreeBuilder builder){// Code omitted for brevity}private int counter 42;private void IncrementCounter(){counter;}}
}[Microsoft.AspNetCore.Components.RouteAttribute(/counter)] 标识页面的 URL。[Microsoft.AspNetCore.Components.LayoutAttribute(typeof(MainLayout))] 标识要使用的布局。事实上由于页面只是装饰有附加属性的组件因此如果您更改默认 Blazor 应用程序的 Pages/Index.razor 文件则可以将 Counter 页面嵌入为组件。page /h1Hello, world!/h1
Welcome to your new app.
Counter/在另一个页面中嵌入页面时Blazor 将其视为一个组件。嵌入页面上的 LayoutAttribute 将被忽略因为 Blazor 已经有一个显式容器 - 包含它的父组件。创建组件源代码[1]在客户端应用程序中创建一个名为 Components 的新文件夹。这不是一个特殊的名称我们可以选择任何我们想要的名称。创建新的 Components 文件夹后在其中创建一个名为 MyFirstComponent.razor 的文件并输入以下标记。divh2This is my first component/h2
/div现在编辑 Index.razor 文件。此时我们可以使用完全限定名称引用组件CreatingAComponent.Client.Components.MyFirstComponent/或者编辑 /_Imports.razor 并添加 using CreatingAComponent.Client.Components。这里的 using 语句级联到所有 Razor 视图中——这意味着使用 /Pages/Index.razor 中的新组件的标记不再需要命名空间。page /h1Hello, world!/h1
MyFirstComponent/Welcome to your new app.SurveyPrompt TitleHow is Blazor working for you? /现在运行应用程序我们将看到以下内容。参考资料[1]源代码: https://github.com/mrpmorris/blazor-university/tree/master/src/Components/CreatingAComponent