我如何发出一个对象而不是原始数据类型?
我有一个对象const amount = { currenty: 'USD', total: '10.25' };
,我想将其发送到父组件。
export class MyChildComponent implements OnInit {
@Output() childEventEmitter: EventEmitter = new EventEmitter();
....
}
在发射器功能中this.childEventEmitter.emit(amount);
//不工作
错误:类型{ currenty:'美元',总计:“10.25”}不能赋给字符串类型的参数
5条答案
按热度按时间jobtbby31#
我是在找到此解决方案"Type 'EventEmitter' is not generic" ERROR in angular后回答自己的问题
问题是我是从量角器而不是@angular/core导入EventEmitter的;谢谢你的评分
vpfxa7rd2#
ujv3wf0j3#
这是因为Typescript抱怨类型不兼容。
或
fhity93d4#
简单的方法是通过事件传递任何类型的参数。
6jjcrrmo5#
把我的场景放在这里,以防有人遇到同样的问题。
我的问题与此类似,但我尝试直接从HTML调用
Output
回调,如下所示:子组件
子组件HTML
父组件HTML
溶液
正如你可能看到的问题是int的子组件我必须有另一个方法在该组件中,并调用它的输出,如下所示:
子组件HTML
结论
记住EventEmitter,BehaviorSubject,Subject不能作为HTML中的方法直接调用。