代码之家  ›  专栏  ›  技术社区  ›  Félix Adriyel Gagnon-Grenier

如何连接Output()和Input()修饰符?

  •  4
  • Félix Adriyel Gagnon-Grenier  · 技术社区  · 7 年前

    我想为生成JSON的组件创建一个接口。我想强制每个实现组件接受类型作为输入并生成输出:

    import { EventEmitter, Output, Input } from '@angular/core';
    import { Foo, FooConfiguration } from '../../interfaces';
    interface FooConfigurator {
        @Output() fooWasConfigured: EventEmitter<FooConfiguration>;
        @Input() fooInstance: Foo;
    }
    

    import { EventEmitter, Output, Input } from '@angular/core';
    import { Foo, FooConfiguration, FooConfigurator } from '../../interfaces';
    class ConcreteFooConfigurator implements FooConfigurator {
        @Output() fooWasConfigured: EventEmitter<FooConfiguration>;
        @Input() fooInstance: Foo; 
    }
    

    1 回复  |  直到 5 年前
        1
  •  8
  •   Félix Adriyel Gagnon-Grenier    7 年前

    目前不可能将装饰器与TypeScript连接起来。下一个最好的方法是简单地连接类型并添加关于它的注释。

    interface FooConfigurator {
        fooWasConfigured: EventEmitter<FooConfiguration>;
        fooInstance: Foo;
    }
    

    怎样