Ever since I started using Ionic 2 I noticed that navigating through the app sometimes feels slow on iOS. I always thought this is because it is still in beta and will get fixed later. However, as we are getting closer to a final version, I started looking into it.
I spent hours trying to find out why the (click) event was so slow. In my case it was launching the camera plugin, so I always thought that it is an issue related to cordova. It took a long time until I found out that there is a 300ms delay on elements other than “a” and “button” that caused the issue. Luckily, Ionic provides a nice directive that completely solves the problem in my case. Before adding tappable, the delay on my device (iPhone 7 Plus) was always more than 300ms, I would say 1-2 seconds. After adding tappable, the delay is completely gone.
Is there a reason why the tappable directive isn’t automatically added on elements with a (click) event? Does it have a negative performance impact on other parts of the app? I can imagine that many people don’t know about this behaviour and like me will spend a lot of time looking in the wrong places trying to fix the issue.