【问题标题】:Where should I store meta data, and how should I read it?我应该在哪里存储元数据,我应该如何读取它?
【发布时间】:2026-02-11 11:00:01
【问题描述】:

我想给一个类添加一些元数据,例如

@SomeMetaInfo("hello")
export class SomeData {
  public name: string;
  public age: number;
}

在我的SomeMetaInfo 装饰器中,我将在哪里存储值“Hello”?这是我迄今为止尝试过的

function SomeMetaInfo(someValue: string) {
  return (target: Function) => {
    target.prototype["SomeMetaInfo:someValue"] = someValue;
  }
}

但这真的是我应该存储价值的地方吗?我应该如何读回这个值?

【问题讨论】:

  • 我想知道是否有一种方法可以在这里集成 mixins? typescriptlang.org/docs/handbook/release-notes/….
  • 我从来没有在 Angular 中做过这样的事情,不过似乎是正确的“用例”。否则,我认为您在这里所做的一切都很好。也许只为元数据存储桶创建一个密钥并将所有元数据放在那里?

标签: angular typescript


【解决方案1】:

似乎推荐的方法是使用reflect-metadata 模块。

【讨论】: