We had a modal that needed to present another modal.
Within modal #1, the constructor is injected with
private modal: ModalController and
ModalController is imported from
However, when we try to create another modal: it says that
this.modal.create() is not a function. Weird… so when we look at
this.modal it appears to be an instance of the Overlay. That is, I can call
dismiss() on it, but I cannot call
If I add another item to the constructor
@Inject('ModalController') modalController: ModalController, that one appears to work as expected.
What’s also weird is that if I remove
public modal: ModalController from the constructor and add it as a property of the class, it exists and I can see what it is (it links to the instance of the HtmlIonElementModal or whatever it is).
Finally, if I just call
this.modalController.dismiss() instead of
this.modal.dismiss() it appears to work as expected.
I’ve spent way too long on this already, but it appears to be some sort of weird Dependency Injection issue. Like, perhaps it wants something named
modal to be added into the control? FWIW, it seems that
this.modal is always there, even if it’s not defined in the constructor.
Anyone know why this is? Trying to read through the ionic docs doesn’t go anywhere and I followed the code up until createOverlay() but I’m not sure what
customComponents is… besides it works and I need to move on.