Angular Material 仅适用于 Angular 弹性布局?

Angular Material only works with Angular Flex-layout?

在最近的一次采访中,有人问我是否知道 flex 是什么,我回答说我对此知之甚少。面试官吓了一跳,然后问你连material都不会flex怎么用。

He said Angular Material cannot be customized unless we use flex.

这是正确的吗?因为在我之前的项目中我确实使用了 Angular Material 并在没有使用任何 flex 属性 的情况下对其进行了自定义。

你们能澄清一下如果 Angular Flex 是强制使用 Angular Material 吗?

Angular Material flex 实现发生在 CSS 之上, 所以技术上没有 。您也应该能够使用 CSS 自行完成所有操作。您甚至可以使用 bootstrap flex。

但是,由于您已经在使用 Angular Material 和 Angular Flex-Layout 是由官方 Angular 团队制作的 npm 包 可以很好地完成工作,通常使用它是一种很好的做法。

文章比较 Bootstrap 或 Angular Flex 的使用: https://codinglatte.com/posts/angular/angular-flex-better-than-bootstrap/

结论(根据文章作者):

Angular Material and Angular Flex Layout are better than bootstrap. This is not to say you shouldn’t use bootstrap, but you should consider using both libraries. Of course, you can still use either independently if you wish to, Angular Material for the nice-looking UI component and Angular Flex Layout for responsive design.

angular material 中的许多组件,如 mat-toolbarmat-expansion-panel-headermat-horizontal-stepper-header-container 使用 flex 属性。

如果您在浏览器中检查 mat-toolbar 元素并查找显示的 属性,您可以看到 display : flex