【问题标题】:Typescript, Is it possible to add method to external class prototype?打字稿,是否可以向外部类原型添加方法?
【发布时间】:2016-09-19 12:09:56
【问题描述】:

比方说,我想向 NgForm(类)添加方法

NgForm.prototype.markAsDirty = function (): void {
    let f: NgForm = this;
    Util.forEach(f.form.controls, (k, v: AbstractControl) => {
        v.markAsDirty(false);
    });
};

这在打字稿中是否可能?

我知道:

但它仅适用于接口,不适用于类。

【问题讨论】:

    标签: typescript angular prototype


    【解决方案1】:

    在 Angular 和 TypeScript 中,您通常使用继承,例如

    export class MyForm extends NgForm {
      ...
    }
    

    并注册您的自定义类以在整个应用程序中使用,而不是原始类。

    bootstrap(AppComponent, [FORM_PROVIDERS, FORM_DIRECTIVES, provide(NgForm, { useClass: MyForm})]);
    

    我没有调查是否有任何额外的事情需要考虑 NgFormFORM_PROVIDERSFORM_DIRECTIVES 以使其正常工作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-06-30
      • 2019-03-11
      • 2010-11-22
      • 1970-01-01
      • 1970-01-01
      • 2019-07-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多