modèle ionique
$ionicModal
$ionicModal peut couvrir la zone de contenu de l'interface principale de l'utilisateur.
Vous pouvez intégrer le code suivant dans votre fichier d'index ou dans d'autres fichiers (le code à l'intérieur peut être modifié en fonction de votre propre scénario commercial).
<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 injecter $ionicModal dans votre contrôleur. Appelez ensuite le modèle que vous venez d'écrire pour effectuer les opérations d'initialisation. Comme 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 }); });
Method
fromTemplate(templateString, options)
Paramètres< / th> | Type | Détails | |||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
templateString | Chaîne |
| |||||||||
options | Objet | les options seront transmises à ionicModal# initialiser dans la méthode. |
参数 | 类型 | 详情 |
---|---|---|
templateUrl | 字符串 | 载入模板的url。 |
options | 对象 | 通过ionicModal#initialize方法传递对象。 |
objet, une instance du contrôleur ionicModal. Renvoie : ionicModal est instancié par le service $ionicModal. 一个选项对象具有一下属性: Afficher l'instance du modèle Valeur de retour : Masquer modèle . Valeur de retour : Supprimez l'instance du modèle du DOM et nettoyez-la en haut . Valeur de retour : Retour : valeur booléenne , utilisé pour déterminer si le modèle est affiché. fromTemplateUrl(templateUrl, options)
Paramètre Type Détails templateUrl String
L'URL pour charger le modèle. options Objet
Passez l'objet via ionicModal# méthode d'initialisation.
<🎜><🎜>Méthode <🎜>参数 类型 详情 options 对象
{object=}
范围
子类的范围。默认:创建一个$rootScope子类。{string=}
动画
带有显示或隐藏的动画。默认:'slide-in-up'{boolean=}
第一个输入框获取焦点
当显示时,模型的第一个输入元素是否自动获取焦点。默认:false。{boolean=}
backdropClickToClose` 点击背景时是否关闭模型。默认:true。initialize(可选)
<🎜>Crée un nouvel exemple de contrôleur de modèle. <🎜>Paramètre Type Détails options Objet
<🎜>Un objet options possède les attributs suivants : <🎜> < ul class=" list-paddingleft-2"> {object=}
Scope
La portée de la sous-classe. Par défaut : créez une sous-classe $rootScope. <🎜>{string=}
animation
Avec afficher ou masquer l'animation. Par défaut : 'slide-in-up' <🎜>{boolean=}
La première zone de saisie obtient le focus
lorsqu'elle est affichée, que ce soit le premier élément d’entrée du modèle obtient automatiquement le focus. Par défaut : faux. <🎜>{boolean=}
backdropClickToClose` S'il faut fermer le modèle en cliquant sur l'arrière-plan. Par défaut : vrai. <🎜>show()
promise
objet promis, qui est résolu une fois l'animation terminée du modèlehide()
promise
objet promis, résolu une fois l'animation du modèle terminée remove()
promise
objet promis, résolu une fois l'animation terminée par le modèle isShown()
Exemple
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>php中文网(php.cn)</title>
<link href="http://www.php.cn/static/ionic/css/ionic.min.css" rel="stylesheet">
<script src="http://www.php.cn/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('../style/images/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();
};
});