在一个命名空间下的多个子文件夹中重新组合 razor 组件 - Blazor

You*_*fia 6 c# razor asp.net-core blazor

我在 Shared 目录下有一个组件文件夹。

>Shared
    +Components
        +MyComponentType1
            -MyComponentType1Base.razor
            -MyComponentType1Title.razor
        +MyComponentType2
            -MyComponentType2Base.razor
            -MyComponentType2Title.razor
    -MainLayout.razor

Run Code Online (Sandbox Code Playgroud)

要包含组件子文件夹的所有元素,我必须在 _Imports.razor 中编写所有 using 语句

@using MyApp.Shared.Components.MyComponentType1
@using MyApp.Shared.Components.MyComponentType2
Run Code Online (Sandbox Code Playgroud)

所以我的问题是:有没有办法重新组合 Component 目录中子文件夹中的所有组件,以便我只使用一个 using 语句?

@using MyApp.Shared.Components
Run Code Online (Sandbox Code Playgroud)

Ed *_*eau 14

@namespace指令添加了几个版本。您可以使用它来覆盖组件的默认命名空间,默认情况下是文件夹路径。

        +MyComponentType1
            -MyComponentType1Base.razor
            -MyComponentType1Title.razor
        +MyComponentType2
            -MyComponentType2Base.razor
            -MyComponentType2Title.razor

Run Code Online (Sandbox Code Playgroud)

MyComponentType1Title.razor

@namespace MyComponents

<span>Component implementation</span>

Run Code Online (Sandbox Code Playgroud)

MyComponentType2Title.razor

@namespace MyComponents

<span>Component implementation</span>

Run Code Online (Sandbox Code Playgroud)

_Imports.razor

@using MyComponents

Run Code Online (Sandbox Code Playgroud)