var vm = this;
. . .
. . .
. . .
/* modal */
vm.showModal = function () {
$ionicModal.show();
};
$ionicModal.fromTemplateUrl('my-modal.html', {
scope: $scope,
animation: 'slide-in-up'
}).then(function (modal) {
vm.modal = modal;
});
vm.openModal = function () {
vm.modal.show();
};
vm.closeModal = function () {
vm.modal.hide();
};
// Clean up the modal
$scope.$on('$destroy', function () {
vm.modal.remove();
});
// Execute action on hide modal
$scope.$on('modal.hidden', function () {
. . .
});
// Execute action on remove modal
$scope.$on('modal.removed', function () {
. . .
});
Note that we still need to use $scope for particular function.The modal template:
<ion-modal-view>
<ion-header-bar>
<h1 class="title">My Modal title</h1>
</ion-header-bar>
<ion-content>
Hello!
<button ng-click="vm.closeModal()">Close</button>
</ion-content>
</ion-modal-view>
