blazor 中多个组件使用相同标签

Kin*_*sin 4 c# blazor

我目前正在使用 blazor 只是为了测试它的功能。

我有一个主要项目,它将作为向用户显示的最终网站。对于组件,我创建了一个类库,用于保存基于引导程序的组件,例如Table它将呈现应用了引导程序类的表。由于我最终将拥有多个网站,因此另一个类库项目中的网站之间也会存在共享组件。这个项目还将有一个名为的组件Table,它将呈现来自其他共享项目的引导表,并提供排序、分页、过滤等附加处理。

我遇到的问题是,存在我无法解决的命名冲突。

假设项目是Company.Website1根据最终网站、Company.Shared.Components扩展表命名的,并且Company.Shared.Components.Bootstrap它将保存由其他共享项目使用的引导组件。

当我尝试Table在中创建我的组件时,Company.Shared.Components出现以下错误

多个组件使用标签“Table”

我尝试了这里写的内容,但后来出现了错误

找到具有意外名称“Table.Table”的标记元素。如果这是一个组件,请为其命名空间添加 @using 指令

我还尝试为 using 指令添加别名,但没有任何机会。

剃刀文件本身很简单

@using Company.Shared.Components.Bootstrap.Table

<Table></Table>
Run Code Online (Sandbox Code Playgroud)

我想如果我使用第三方库,其中一些组件的名称与我的项目中已存在的组件的名称相同,我想我会得到相同的错误。所以必须有一个我目前看不到的解决方法。

Nij*_*hof 12

如果您有多个共享相同名称的组件,您只需在标签中添加命名空间即可指定要使用哪一个。

所以你可以这样做:

<Company.Shared.Components.Table></Table>
Run Code Online (Sandbox Code Playgroud)

或者

<Company.Shared.Components.Bootstrap.Table></Table>
Run Code Online (Sandbox Code Playgroud)

来源:https://learn.microsoft.com/en-us/aspnet/core/blazor/components/ ?view=aspnetcore-8.0#namespaces