You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 06:25:06