角材料零部件的自定义选择器名称

时间:2019-12-05 16:34:31

标签: angular angular-material angular-components

我刚开始使用角材料和角材料,但我不喜欢每个角材料组件如何以mat开头。例如:

<mat-sidenav-container>
  <mat-sidenav>...</mat-sidenav>
  <mat-sidenav-content>...</mat-sidenav-content>
</mat-sidenav-container>

我是否可以为这些组件提供自定义选择器名称?也就是说,像这样的东西:

<SidenavContainer>
  <Sidenav>...</Sidenav>
  <SidenavContent>...</SidenavContent>      
</SidenavContainer>

如果是这样,我该怎么办?

1 个答案:

答案 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>发生冲突。

相关问题