It would seem that the modal’s scope would be bound to the scope passed in via the options object
But this is not the case, it seems. I haven’t looked at the source but I’m guessing the scope is isolate and therefore I cannot reference anything on the $parent controller’s scope, even in angular expressions, thus, the modal template buttons don’t work either way (with $parent or without):
The template wasn’t using <ion-modal-view> directive – that seemed to be the root of the issue. Also, there was a typo in the controller, where I was referencing modal.hide() instead of $scope.modal.hide() – the significant issue seemed to be the lack of <ion-modal-view> directive. If you use this, and pass the controller’s scope, then you don’t need to define a separate controller for the modal.