gpt4 book ai didi

来自父类的Angular2 EventEmitter

转载 作者:太空狗 更新时间:2023-10-29 17:52:49 25 4
gpt4 key购买 nike

我创建了一个抽象父类(super class)来处理我应用中各种表单组件的通用因素。

出于某种原因,我无法正确捕获由在父类(super class)中声明了 EventEmitter 的派生类发出的事件。

父类(super class):

export abstract class Form<T> implements OnInit {
@Output() submitted : EventEmitter<T> = new EventEmitter<T>();
fb : FormBuilder = new FormBuilder();
formModel : ControlGroup;

abstract ngOnInit() : any;
}

派生:

export class LoginFormComponent extends Form<Login> {

credentials : Login = new Login();

constructor() {
super();
}

doLogin() {
this.submitted.emit(this.credentials);
}
}

封装元素的HTML:

<login-form (submitted)="login($event)"></login-form>\

当我将 EventEmitter 移动到派生类时,一切都非常顺利。 我需要更改什么才能使其正常工作?

最佳答案

Angular 无法识别父类(super class)中的此类装饰器。

您可以使用 @Component() 注释启用它们

@Component({
selector: '...',
outputs: ['submitted'],
inputs: ['...']
})

另见 https://github.com/angular/angular/issues/5415

关于来自父类的Angular2 EventEmitter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36743093/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com