Fenêtre modale ionique
$ IonicModal
$ IonicModal peut couvrir le contenu principal de l'interface utilisateur de la boîte.
Vous pouvez intégrer le code suivant (dans le code en fonction de vos propres scénarios d'affaires changements correspondants) dans votre fichier d'index ou un autre fichier.
<script id="my-modal.html" type="text/ng-template"> <ion-modal-view> <ion-header-bar> <h1 class="title">My Modal title</h1> </ion-header-bar> <ion-content> Hello! </ion-content> </ion-modal-view> </script>
Ensuite, vous pouvez dans votre contrôleur à l'intérieur d'injecter $ ionicModal. Alors appelez-vous écrivez simplement un modèle, initialise. Comme dans le code suivant:
angular.module('testApp', ['ionic']) .controller('MyController', function($scope, $ionicModal) { $ionicModal.fromTemplateUrl('my-modal.html', { scope: $scope, animation: 'slide-in-up' }).then(function(modal) { $scope.modal = modal; }); $scope.openModal = function() { $scope.modal.show(); }; $scope.closeModal = function() { $scope.modal.hide(); }; //Cleanup the modal when we're done with it! $scope.$on('$destroy', function() { $scope.modal.remove(); }); // Execute action on hide modal $scope.$on('modal.hidden', function() { // Execute action }); // Execute action on remove modal $scope.$on('modal.removed', function() { // Execute action }); });
manière
fromTemplate(templateString, options)
Paramètres | type | détail |
---|---|---|
templateString | 字符串 | modèle de chaîne que la fenêtre modale contenu. |
Options | 对象 | options passées à ionicModal # initialisent méthode. |
Renvoie: un objet, une instance de contrôleur ionicModal.
fromTemplateUrl(templateUrl, options)
Paramètres | type | détail |
---|---|---|
templateURL | 字符串 | Chargement modèle url. |
Options | 对象 | Passing objets par ionicModal # initialisent méthode. |
Renvoie: objet promesse.Promises objet est une spécification Groupe de travail CommonJS, il vise à fournir une interface unifiée à la programmation asynchrone.
ionicModal
Les services $ ionicModal instancier.
Astuce: Lorsque vous avez terminé chaque module clair, veillez à appeler la méthode remove () pour éviter les fuites de mémoire.
REMARQUE: un module de sa gamme initiale de la diffusion du 'modal.shown' et 'modal.hidden', pour être passé en tant que paramètre lui-même.
manière
initialize(可选)
Créer un nouvel exemple de contrôleur de fenêtre modale.
Paramètres | type | détail |
---|---|---|
Options | 对象 | Cliquez sur l'une des options objet a des propriétés:
|
show()
instance de fenêtre Modal
- Valeur de retour:
promise
objets Promise, après l'achèvement de l'animation sont résolus dans une fenêtre modale
hide()
Masquer la fenêtre modale.
- Valeur de retour:
promise
objets Promise, après l'achèvement de l'animation sont résolus dans une fenêtre modale
remove()
Retirer instance de fenêtre modale du DOM et propre.
- Valeur de retour:
promise
objets Promise, après l'achèvement de l'animation sont résolus dans une fenêtre modale
isShown()
- Retours: Valeur booléenne utilisée pour déterminer la fenêtre modale est affichée.
Exemples
Le code HTML
<html ng-app="ionicApp"> <head> <meta charset="utf-8"> <meta name="viewport" content="initial-scale=1, maximum-scale=1, user-scalable=no, width=device-width"> <title>本教程(w3big.com)</title> <link href="http://www.w3big.com/static/ionic/css/ionic.min.css" rel="stylesheet"> <script src="http://www.w3big.com/static/ionic/js/ionic.bundle.min.js"></script> </head> <body ng-controller="AppCtrl"> <ion-header-bar class="bar-positive"> <h1 class="title">Contacts</h1> <div class="buttons"> <button class="button button-icon ion-compose" ng-click="modal.show()"> </button> </div> </ion-header-bar> <ion-content> <ion-list> <ion-item ng-repeat="contact in contacts"> {{contact.name}} </ion-item> </ion-list> </ion-content> <script id="templates/modal.html" type="text/ng-template"> <ion-modal-view> <ion-header-bar class="bar bar-header bar-positive"> <h1 class="title">New Contact</h1> <button class="button button-clear button-primary" ng-click="modal.hide()">Cancel</button> </ion-header-bar> <ion-content class="padding"> <div class="list"> <label class="item item-input"> <span class="input-label">First Name</span> <input ng-model="newUser.firstName" type="text"> </label> <label class="item item-input"> <span class="input-label">Last Name</span> <input ng-model="newUser.lastName" type="text"> </label> <label class="item item-input"> <span class="input-label">Email</span> <input ng-model="newUser.email" type="text"> </label> <button class="button button-full button-positive" ng-click="createContact(newUser)">Create</button> </div> </ion-content> </ion-modal-view> </script> </body> </html>
code CSS
body { cursor: url('../try/demo_source/finger.png'), auto; }
code JavaScript
angular.module('ionicApp', ['ionic']) .controller('AppCtrl', function($scope, $ionicModal) { $scope.contacts = [ { name: 'Gordon Freeman' }, { name: 'Barney Calhoun' }, { name: 'Lamarr the Headcrab' }, ]; $ionicModal.fromTemplateUrl('templates/modal.html', { scope: $scope }).then(function(modal) { $scope.modal = modal; }); $scope.createContact = function(u) { $scope.contacts.push({ name: u.firstName + ' ' + u.lastName }); $scope.modal.hide(); }; });