【发布时间】:2020-04-29 08:39:20
【问题描述】:
我有一个简单的数据模型,我想用元数据进行注释
export class Certification {
title: string;
certificationType?: CertificationType;
validTo?: number;
description?: string;
externalIdentifier: Guid;
constructor() {
this.title = '';
this.certificationType = CertificationType.Undefined;
this.validTo = 0;
this.description = '';
this.externalIdentifier = null;
}
}
我希望我能以某种方式对模型进行注释
export class Certification {
@Heading()
title: string;
certificationType?: CertificationType;
@Label('My label')
validTo?: number;
description?: string;
@Hidden()
externalIdentifier: Guid;
constructor() {...}
}
我有很多非常相似的模型,所以我更愿意创建一个简单的组件来处理所有这些的显示逻辑,而不是为每个模型创建一个组件,然后由每个单独的模板控制差异。
我尝试使用 typescript 文档中定义的反射元数据 api,如下所述:https://www.typescriptlang.org/docs/handbook/decorators.html#property-decorators 但即使元数据在构建时应用于模型,当我通过绑定分配它时,它们似乎也会丢失。
<display-annotated-model [model]="certification"></display-annotated-model>
所以我的问题是有没有人得到这个工作?
或者是否有不同的方法来注释我应该查看的数据模型(我已经用尽了我的谷歌搜索能力)?
我需要让它在 Angular 9 中工作。感谢任何输入:)
【问题讨论】:
标签: angular typescript metadata