Fél*_*ier 4 interface decorator typescript angular
我想为生成 JSON 的组件创建一个接口。我想强制每个实现组件接受一个类型作为输入并产生一个输出:
import { EventEmitter, Output, Input } from '@angular/core';
import { Foo, FooConfiguration } from '../../interfaces';
interface FooConfigurator {
@Output() fooWasConfigured: EventEmitter<FooConfiguration>;
@Input() fooInstance: Foo;
}
Run Code Online (Sandbox Code Playgroud)
然后,实现 FooConfigurator 的组件将确保以下内容:
import { EventEmitter, Output, Input } from '@angular/core';
import { Foo, FooConfiguration, FooConfigurator } from '../../interfaces';
class ConcreteFooConfigurator implements FooConfigurator {
@Output() fooWasConfigured: EventEmitter<FooConfiguration>;
@Input() fooInstance: Foo;
}
Run Code Online (Sandbox Code Playgroud)
此接口定义失败,因为它的语法无效。我该怎么做,或者更好地解决问题?
目前不可能将装饰器与 TypeScript 进行交互。下一个最好的方法是简单地连接类型并添加有关它的注释。
interface FooConfigurator {
fooWasConfigured: EventEmitter<FooConfiguration>;
fooInstance: Foo;
}
Run Code Online (Sandbox Code Playgroud)
这在本质上几乎涵盖了需求,EventEmitter 看起来应该发出一个事件,并且在 fooInstance 中指示类具有这样的属性。然而,这些应该如何使用取决于评论领域。
| 归档时间: |
|
| 查看次数: |
2554 次 |
| 最近记录: |