Ionic2:如何从模式组件(从ModalController创建)中捕获事件?
是否有一种方法可以捕获模态组件(使用ModalController创建)内发出的本地事件而不必关闭,并且不必使用全局Ionic2:如何从模式组件(从ModalController创建)中捕获事件?,ionic2,Ionic2,是否有一种方法可以捕获模态组件(使用ModalController创建)内发出的本地事件而不必关闭,并且不必使用全局事件或服务 执行此操作的方法是使用listenfrom,但我不知道在这种情况下如何获得对组件实例的正确引用 MyComponent.ts ... export class MyComponent { @Output() myAwesomeEvent = new EventEmitter<string>(); fireEvent() { this.myA
事件
或服务
执行此操作的方法是使用listen
from,但我不知道在这种情况下如何获得对组件实例的正确引用
MyComponent.ts
...
export class MyComponent {
@Output() myAwesomeEvent = new EventEmitter<string>();
fireEvent() {
this.myAwesomeEvent.emit('payload');
}
}
...
const modal = this.modalCtrl.create(MyComponent);
// how do I catch 'myAwesomeEvent' emitted from within MyComponent?
...
访问模式中的
实例
属性
const modal = this.modalCtrl.create(MyComponent);
modal.didEnter.subscribe(() => {
modal.instance.myAwesomeEvent.subscribe(....)
});
爱奥尼亚版本3:
this.modalCtrl.create(MyComponent).present().then((result) =>{
modal.instance.myAwesomeEvent.subscribe(....)
});
爱奥尼亚版本4这可能是一个解决办法?(在我的应用程序中似乎工作正常) myComponent:
export class MyComponent{
@Output() clickFavorite= new EventEmitter<any>();
favorite(evt){
this.clickFavorite.emit("OK");}
}
}
导出类MyComponent{
@Output()clickFavorite=neweventemitter();
收藏夹(evt){
this.clickFavorite.emit(“确定”);}
}
}
在我的脑海中,我认为模态变量将具有instance属性,从中可以得到myAwesomeEvent so modal.instance.myAwesomeEvent.subscribe(…@misha130正是我所需要的。设置一个答案,我将接受。提示:使用modal.dienter
设置处理程序,以确保实例
成员可用。我得到的是error modal.dienter不是函数。它不工作。我得到的是error dienter没有为modal定义请注意,这是ionic2版本。I在ionic v5中为我添加了ionic 3Works的编辑答案。对此有何解释?为什么在接收端创建发射器?
export class MyComponent{
@Output() clickFavorite= new EventEmitter<any>();
favorite(evt){
this.clickFavorite.emit("OK");}
}
}