谁能解释为什么@Input
和@output
装饰器在类内声明,我们不能像@Component
一样在类外声明它吗?
import { Component, Input } from '@angular/core';
@Component({
selector: 'my-component',
})
class MyComponent {
@Input() name: string;
@Input() age: number;
@Output() onProductSelected: EventEmitter<Product>;
}
装饰器不是独立的实体,它们装饰其他实体。
对于输入和输出,它们是装饰类成员变量。
根据定义,类成员变量位于类中,因此这是装饰器必须去的地方。