Angular TypeScript代码中/** @docs-private */注释的含义是什么?
Angular CDK 中
@docs-private 注释的含义 @docs-private 是 Angular 组件库(包含 CDK 和 Material)的自定义文档注释标记,核心作用是标记该成员仅服务于框架内部逻辑,不对外向开发者开放。
具体细节:
- 它会被 Angular 官方的文档生成工具识别,被标记的成员会在自动生成的公开 API 文档中被隐藏,不会出现在面向开发者的参考文档里。
- 即便被标记的成员用
public修饰(比如示例里的template参数),本质也是框架内部依赖的接口,不建议开发者直接调用或依赖——这类成员的实现可能在版本迭代中随时调整,没有向后兼容的承诺。
示例代码(已翻译)
/** * CdkHeaderRowDef 和 CdkRowDef 的基类,负责检测列输入的变化并通知表格。 */ @Directive() export abstract class BaseRowDef implements OnChanges { /** 要在该行显示的列集合 */ columns: Iterable<string>; /** 用于检测列数据是否发生变化的 Differ */ protected _columnsDiffer: IterableDiffer<any>; constructor( /** @docs-private */ public template: TemplateRef<any>, protected _differs: IterableDiffers, ) {} ngOnChanges(changes: SimpleChanges): void { // 如果还未创建列 Differ,则初始化一个。根据 columns 属性的初始值或空数组来创建 if (!this._columnsDiffer) { const columns = (changes['columns'] && changes['columns'].currentValue) || []; this._columnsDiffer = this._differs.find(columns).create(); this._columnsDiffer.diff(columns); } } }
这里的 template 参数被标记为 @docs-private,说明它是 CDK 表格组件内部用于渲染行模板的依赖项,开发者无需直接访问,官方文档也不会将其列为公开 API。
内容的提问来源于stack exchange,提问作者nsquires
相关产品推荐
相关产品推荐

