C# blazor中的多个组件使用相同的标记
我现在正在玩blazor,只是为了测试它能做什么 我有一个主要项目,将作为最终的网站显示给用户。对于这些组件,我创建了一个类库,用于保存基于引导的组件,如C# blazor中的多个组件使用相同的标记,c#,blazor,C#,Blazor,我现在正在玩blazor,只是为了测试它能做什么 我有一个主要项目,将作为最终的网站显示给用户。对于这些组件,我创建了一个类库,用于保存基于引导的组件,如表,它将呈现应用了引导类的表。 因为我最终会有多个网站,所以在另一个类库项目中也会有共享组件。这个项目还将有一个名为Table的组件,该组件将从另一个共享项目中呈现一个引导表,并提供额外的排序、分页、筛选等处理 我遇到的问题是,有一个命名冲突我无法解决 假设这些项目的最终网站名为Company.Website1,扩展表名为Company.Sha
表
,它将呈现应用了引导类的表。
因为我最终会有多个网站,所以在另一个类库项目中也会有共享组件。这个项目还将有一个名为Table
的组件,该组件将从另一个共享项目中呈现一个引导表,并提供额外的排序、分页、筛选等处理
我遇到的问题是,有一个命名冲突我无法解决
假设这些项目的最终网站名为Company.Website1
,扩展表名为Company.Shared.Components
,另一个共享项目名为Company.Shared.Components.Bootstrap
当我尝试在Company.Shared.Components
中创建我的表
-组件时,我得到以下错误
多个组件使用标记“Table”
我试着写了些什么,但后来发现了错误
找到具有意外名称“Table.Table”的标记元素。如果这是一个组件,请为其名称空间添加@using指令
我还尝试在没有任何机会的情况下为using指令添加别名
razor文件本身非常简单
@using Company.Shared.Components.Bootstrap.Table
<Table></Table>
@使用Company.Shared.Components.Bootstrap.Table
我想如果我使用第三方库,其中一些组件的名称与我的项目中已经存在的组件的名称相同,我会得到同样的错误。因此,必须有一个我目前无法看到的解决方法。如果有多个组件共享相同的名称,您可以在标记中添加名称空间,以指定要使用的名称空间 所以你可以做:
<Company.Shared.Components.Table></Table>
或
来源:Blazorise.Icon与
Blazorise.Icons.FontAwesome.Icon
之间存在此问题-导入了Blazorise
和Blazorise.Icons.FontAwesome
的任何地方都出现问题
最后,为了保持整洁,我继承了Blazorise.Icons.fontsawesome.Icon:
//in FAIcon.razor
@inherits Blazorise.Icons.FontAwesome.Icon
@{
base.BuildRenderTree(__builder);
}
并使用
//in FAIcon.razor
@inherits Blazorise.Icons.FontAwesome.Icon
@{
base.BuildRenderTree(__builder);
}