I think this is an instance of Segal’s Law, in which somebody with two watches never knows what time it is. Having a single source of truth is something I always strive for, and one way you could go about dealing with this is outlined in this post: after reorder, poke the new array back to the service instead of just storing it locally. I would also do all the storage stuff in the service, instead of the page. If pages only concern themselves with presentation, delegating all data wrangling to services, maintenance becomes a lot easier because you can change data handling strategies by editing only one class.
Incidentally, there is a lot of any
in here, that both makes the code hard to read (for an outsider, at least), and hides a lot of potential bugs. There’s also, I believe, a memory leak caused by failure to clean up the subscription made in ionViewDidEnter
.