我正在使用Ionic 3(Angular 4),我想在服务中关闭离子模态,这是可能的吗?
我想在我的DataService.ts的另一个函数中调用close()函数来关闭我的模态deleteconfirm.ts
答案 0 :(得分:0)
根据您的代码看起来,在我看来,您的服务必须了解该视图。
无论何时打开模式,您都可以在服务中添加模态实例,以便您可以引用该实例以便在服务中关闭它。
示例(只是一个组成示例,因为示例中的代码太简短了):
// Example component
export class MyComponent implements OnInit {
modal: Modal;
constructor(private modalService: ModalService) {}
ngOnInit() {
this.modalService.modal = this.modal;
}
close() {
this.modalService.close();
}
}
// Example service
export class ModalService {
_modal: Modal;
set modal(modal: Modal) {
this._modal = modal;
}
close() {
if (this._modal) {
this._modal.close();
this._modal = null;
}
}
}
这种方法允许可移植性,因为只需注入ModalService
就可以从任何组件中关闭模态。