Angular Material 2组件中的`cdk`是什么?

116
在 Angular Material 的源代码中,有一些元素和 CSS 类都以“cdk”作为它们的前缀。
有人知道在 Angular Material 上下文中,“cdk”的缩写是什么吗?
4个回答

114

CDK是“组件开发工具包”(Component Dev Kit)的简称。这意味着这些工具是用于构建与Material Design无关的通用组件。

来自material2更改日志

  • core/中的几个组件,如Overlay,已更改其前缀为cdk-(即“组件开发工具包”)。这意味着这些工具是用于构建与Material Design无关的通用组件。旧选择器仍可作为弃用功能使用,但将在下一个发布版本中删除。 CSS类已更改。

有关如何使用CDK组件(例如表格、覆盖层、门户、门户主机等)的更多信息,请在此处找到示例:

  1. https://github.com/angular/material2/tree/master/src/demo-app
  2. https://medium.com/@caroso1222/a-first-look-into-the-angular-cdk-67e68807ed9b

我还是不太明白。你的意思是CDK会成为Angular组件,而不是Material的一部分吗? - ctilley79
2
目前,cdk代码位于material存储库中。但是,“material”已经开始重构“cdk”,以便可以从npm中独立地拉取和使用cdk组件。即使重构后,cdk代码可能仍与material共存,但包装方式将不同。例如,新的material组件(如“table”)扩展了“cdk”表格,并对它们应用样式,以使“table”的主题和大小与material规范相匹配。来源:https://github.com/angular/material2/tree/master/src/lib/table - Ashok Koyi
1
这篇文章有更多细节。CDK具有组件,可帮助处理文本方向和加载旋转器,无论您是否使用Material。https://medium.com/@caroso1222/a-first-look-into-the-angular-cdk-67e68807ed9b - Mike_Laird
更好的样例来源是前往Material Source演示应用程序。它包含了几乎所有你可以使用CDK组件完成的用途的演示,包括OverlayRef、Portal、PortalHost、Table等等。 - Ashok Koyi
2
我认为对于material2团队来说,在https://material.angular.io/cdk/页面上发布关于“什么是CDK”的简短解释会很有帮助。 - happyZZR1400

38

CDK(组件开发工具包)是一个独立的软件包。

CDK的目标是为开发人员提供更多的工具来构建出色的Web组件。这将对那些想要利用Angular Material功能而不采用Material Design视觉语言的项目特别有用。

从谷歌的仓库中检出CDK。

https://github.com/angular/material2/tree/master/src/cdk

1
谢谢!你的回答很有帮助! - nitinsridar

5

CDK => 组件开发工具包

其主要目的是通过扩展性,在其基础上创建自定义组件。


1
CDK是组件开发工具包的缩写。CDK允许您使用不依赖于Angular Material及其样式的功能,并且完全独立。您可以仅通过导入cdk来使用一些很棒的功能,例如拖放和虚拟滚动(我个人非常喜欢)。请查看此处的文档。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接