页面和共享之间有什么区别,我们可以使用不同的文件夹吗?

Ler*_*ins 6 blazor blazor-webassembly

我正在浏览并仍在学习 Blazor,但有一件事我无法理解 - 为什么有为“页面”和“共享”准备的文件夹,两者之间有什么区别?

  • 页面和共享之间有什么区别?
  • 我们在哪里存储自定义控件?

解决方案资源管理器视图

Pet*_*ris 6

页面和组件本质上是同一件事,只不过页面有一个或多个@page指令来标识可以使用哪个 URL 来呈现它们。

指令@page将转换为[Microsoft.AspNetCore.Components.RouteAttribute("/XXX")]从 razor 文件生成的组件类上的属性。

Blazor 将反映整个程序集的装饰类型[RouteAttribute]。这意味着页面可以位于您想要的任何位置。

对于组件来说也是如此。之所以能够Shared默认将它们放入文件夹中是因为其中/_Imports.razor有一个。@using YouAppName.Shared如果您想将组件放在其他命名空间中,您可以

  1. 将命名空间添加到 _Imports.razor 文件
  2. 将 a 添加@using WhateverNamespace到您使用的页面/组件的顶部。
  3. 在标记中包含命名空间<WhateverNamespace.SomeComponent/>

https://blazor-university.com/routing/defining-routes/