我刚开始使用角材料和角材料,但我不喜欢每个角材料组件如何以mat
开头。例如:
<mat-sidenav-container>
<mat-sidenav>...</mat-sidenav>
<mat-sidenav-content>...</mat-sidenav-content>
</mat-sidenav-container>
我是否可以为这些组件提供自定义选择器名称?也就是说,像这样的东西:
<SidenavContainer>
<Sidenav>...</Sidenav>
<SidenavContent>...</SidenavContent>
</SidenavContainer>
如果是这样,我该怎么办?
答案 0 :(得分:1)
<SidenavContainer>
是一个非常具有React外观的组件。
欢迎来到Angular ...
约定不同,随着时间的流逝,您会习惯它,但是我们使用前缀的原因是因为Angular和React解析组件的方式非常不同。
React可以导入组件引用,如果您有两个具有相同名称的组件,则可以重命名导入。
import {SidenavContainer} from './src/SidenavContainer';
import {SidenavContainer as SidenavContainerOther} from '../other/src/SidenavContainer';
Angular无法重命名选择器。它们在项目的 global 空间中,并在AOT编译时进行解析。
因此,我们必须使用前缀将我们的组件与其他人的组件隔离。因此,您将创建<app-sidenav-container>
,这样就不会与另一个库中的<mat-sidenav-container>
发生冲突。