{"id":745,"date":"2018-02-25T20:33:20","date_gmt":"2018-02-25T12:33:20","guid":{"rendered":"http:\/\/60.205.208.74\/2018\/02\/25\/ionic-%e6%a8%a1%e6%80%81%e7%aa%97%e5%8f%a3\/"},"modified":"2018-02-25T20:33:20","modified_gmt":"2018-02-25T12:33:20","slug":"ionic-%e6%a8%a1%e6%80%81%e7%aa%97%e5%8f%a3","status":"publish","type":"post","link":"https:\/\/www.puzi7.net\/?p=745","title":{"rendered":"ionic \u6a21\u6001\u7a97\u53e3"},"content":{"rendered":"<span itemprop=\"description\"><div class=\"article-body\">\n<div class=\"article-intro\" id=\"content\">\n<h1>ionic \u6a21\u6001\u7a97\u53e3<\/h1>\n<hr>\n<h2>$ionicModal<\/h2>\n<p>$ionicModal \u53ef\u4ee5\u906e\u4f4f\u7528\u6237\u4e3b\u754c\u9762\u7684\u5185\u5bb9\u6846\u3002<\/p>\n<p>\u4f60\u53ef\u4ee5\u5728\u4f60\u7684 index \u6587\u4ef6\u6216\u8005\u662f\u5176\u4ed6\u6587\u4ef6\u5185\u5d4c\u5165\u4ee5\u4e0b\u4ee3\u7801(\u91cc\u9762\u7684\u4ee3\u7801\u53ef\u4ee5\u6839\u636e\u4f60\u81ea\u5df1\u7684\u4e1a\u52a1\u573a\u666f\u76f8\u5e94\u7684\u6539\u53d8)\u3002<\/p>\n<pre>\n&lt;script id=\"my-modal.html\" type=\"text\/ng-template\"&gt;\n  &lt;ion-modal-view&gt;\n    &lt;ion-header-bar&gt;\n      &lt;h1 class=\"title\"&gt;My Modal title&lt;\/h1&gt;\n    &lt;\/ion-header-bar&gt;\n    &lt;ion-content&gt;\n      Hello!\n    &lt;\/ion-content&gt;\n  &lt;\/ion-modal-view&gt;\n&lt;\/script&gt;\n<\/pre>\n<p>\n\u7136\u540e\u4f60\u5c31\u53ef\u4ee5\u5728\u4f60\u7684 Controller \u91cc\u9762\u7684\u6ce8\u5165 $ionicModal \u3002\u7136\u540e\u8c03\u7528\u4f60\u521a\u521a\u5199\u5165\u7684\u6a21\u677f\uff0c\u8fdb\u884c\u521d\u59cb\u5316\u64cd\u4f5c\u3002\u5c31\u50cf\u4e0b\u9762\u7684\u4ee3\u7801\uff1a\n<\/p>\n<pre>\nangular.module('testApp', ['ionic'])\n.controller('MyController', function($scope, $ionicModal) {\n  $ionicModal.fromTemplateUrl('my-modal.html', {\n    scope: $scope,\n    animation: 'slide-in-up'\n  }).then(function(modal) {\n    $scope.modal = modal;\n  });\n  $scope.openModal = function() {\n    $scope.modal.show();\n  };\n  $scope.closeModal = function() {\n    $scope.modal.hide();\n  };\n  \/\/Cleanup the modal when we're done with it!\n  $scope.$on('$destroy', function() {\n    $scope.modal.remove();\n  });\n  \/\/ Execute action on hide modal\n  $scope.$on('modal.hidden', function() {\n    \/\/ Execute action\n  });\n  \/\/ Execute action on remove modal\n  $scope.$on('modal.removed', function() {\n    \/\/ Execute action\n  });\n});\n<\/pre>\n<h3>\u65b9\u6cd5<\/h3>\n<pre>\nfromTemplate(templateString, options)\n<\/pre>\n<table class=\"reference\" style=\"margin:0;\">\n<thead>\n<tr>\n<th>\u53c2\u6570<\/th>\n<th>\u7c7b\u578b<\/th>\n<th>\u8be6\u60c5<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>\n        templateString\n      <\/td>\n<td>\n<p>  <code>\u5b57\u7b26\u4e32<\/code>\n      <\/td>\n<td>\n<p>\u6a21\u677f\u7684\u5b57\u7b26\u4e32\u4f5c\u4e3a\u6a21\u6001\u7a97\u53e3\u7684\u5185\u5bb9\u3002<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n        options<\/p>\n<\/td>\n<td>\n<p>  <code>\u5bf9\u8c61<\/code>\n      <\/td>\n<td>\n<p>options \u4f1a\u4f20\u9012\u5230 ionicModal#initialize\u65b9\u6cd5\u4e2d\u3002<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><b>\u8fd4\u56de:<\/b> \u5bf9\u8c61, \u4e00\u4e2aionicModal\u63a7\u5236\u5668\u7684\u5b9e\u4f8b\u3002<\/p>\n<pre>\nfromTemplateUrl(templateUrl, options)\n<\/pre>\n<table class=\"reference\">\n<thead>\n<tr>\n<th>\u53c2\u6570<\/th>\n<th>\u7c7b\u578b<\/th>\n<th>\u8be6\u60c5<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>\n        templateUrl\n      <\/td>\n<td>\n<p>  <code>\u5b57\u7b26\u4e32<\/code>\n      <\/td>\n<td>\n<p>\u8f7d\u5165\u6a21\u677f\u7684url\u3002<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n        options<\/p>\n<\/td>\n<td>\n<p>  <code>\u5bf9\u8c61<\/code>\n      <\/td>\n<td>\n<p>\u901a\u8fc7ionicModal#initialize\u65b9\u6cd5\u4f20\u9012\u5bf9\u8c61\u3002<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><b>\u8fd4\u56de\uff1a<\/b> promise\u5bf9\u8c61\u3002Promises\u5bf9\u8c61\u662fCommonJS\u5de5\u4f5c\u7ec4\u63d0\u51fa\u7684\u4e00\u79cd\u89c4\u8303\uff0c\u76ee\u7684\u662f\u4e3a\u5f02\u6b65\u7f16\u7a0b\u63d0\u4f9b\u7edf\u4e00\u63a5\u53e3\u3002<\/p>\n<hr>\n<h2>ionicModal<\/h2>\n<p>\u7531$ionicModal\u670d\u52a1\u5b9e\u4f8b\u5316\u3002\n<\/p>\n<p>\n\u63d0\u793a\uff1a\u5f53\u4f60\u5b8c\u6210\u6bcf\u4e2a\u6a21\u5757\u6e05\u9664\u65f6\uff0c\u786e\u4fdd\u8c03\u7528remove()\u65b9\u6cd5\uff0c\u4ee5\u907f\u514d\u5185\u5b58\u6cc4\u6f0f\u3002\n<\/p>\n<p>\n\u6ce8\u610f\uff1a\u4e00\u4e2a\u6a21\u5757\u4ece\u5b83\u7684\u521d\u59cb\u8303\u56f4\u5e7f\u64ad\u51fa &#8216;modal.shown&#8217; \u548c &#8216;modal.hidden&#8217; \uff0c\u628a\u81ea\u8eab\u4f5c\u4e3a\u4e00\u4e2a\u53c2\u6570\u6765\u4f20\u9012\u3002<\/p>\n<\/p>\n<h3>\u65b9\u6cd5<\/h3>\n<pre>\ninitialize(\u53ef\u9009)<\/pre>\n<p>\n\u521b\u5efa\u4e00\u4e2a\u65b0\u7684\u6a21\u6001\u7a97\u53e3\u63a7\u5236\u5668\u793a\u4f8b\u3002\n<\/p>\n<table class=\"reference\">\n<thead>\n<tr>\n<th>\u53c2\u6570<\/th>\n<th>\u7c7b\u578b<\/th>\n<th>\u8be6\u60c5<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>\n        options\n      <\/td>\n<td>\n<p>  <code>\u5bf9\u8c61<\/code>\n      <\/td>\n<td>\n<p>\u4e00\u4e2a\u9009\u9879\u5bf9\u8c61\u5177\u6709\u4e00\u4e0b\u5c5e\u6027\uff1a<\/p>\n<ul>\n<li><code>{object=}<\/code> <code>\u8303\u56f4<\/code> \u5b50\u7c7b\u7684\u8303\u56f4\u3002\u9ed8\u8ba4\uff1a\u521b\u5efa\u4e00\u4e2a$rootScope\u5b50\u7c7b\u3002<\/li>\n<li><code>{string=}<\/code> <code>\u52a8\u753b<\/code> \u5e26\u6709\u663e\u793a\u6216\u9690\u85cf\u7684\u52a8\u753b\u3002\u9ed8\u8ba4\uff1a&#8217;slide-in-up&#8217;<\/li>\n<li><code>{boolean=}<\/code> <code>\u7b2c\u4e00\u4e2a\u8f93\u5165\u6846\u83b7\u53d6\u7126\u70b9<\/code> \u5f53\u663e\u793a\u65f6\uff0c\u6a21\u6001\u7a97\u53e3\u7684\u7b2c\u4e00\u4e2a\u8f93\u5165\u5143\u7d20\u662f\u5426\u81ea\u52a8\u83b7\u53d6\u7126\u70b9\u3002\u9ed8\u8ba4\uff1afalse\u3002<\/li>\n<li><code>{boolean=}<\/code>backdropClickToClose` \u70b9\u51fb\u80cc\u666f\u65f6\u662f\u5426\u5173\u95ed\u6a21\u6001\u7a97\u53e3\u3002\u9ed8\u8ba4\uff1atrue\u3002<\/li>\n<\/ul>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<pre>show()<\/pre>\n<p>\u663e\u793a\u6a21\u6001\u7a97\u53e3\u5b9e\u4f8b<\/p>\n<ul>\n<li>\u8fd4\u56de\u503c:<br \/>\n<code>promise<\/code> promise\u5bf9\u8c61,\u5728\u6a21\u6001\u7a97\u53e3\u5b8c\u6210\u52a8\u753b\u540e\u5f97\u5230\u89e3\u6790<\/li>\n<\/ul>\n<pre>hide()<\/pre>\n<p>\u9690\u85cf\u6a21\u6001\u7a97\u53e3\u3002<\/p>\n<ul>\n<li>\u8fd4\u56de\u503c:<br \/>\n<code>promise<\/code> promise\u5bf9\u8c61,\u5728\u6a21\u6001\u7a97\u53e3\u5b8c\u6210\u52a8\u753b\u540e\u5f97\u5230\u89e3\u6790<\/li>\n<\/ul>\n<pre>remove()<\/pre>\n<p>\u4ece DOM \u4e2d\u79fb\u9664\u6a21\u6001\u7a97\u53e3\u5b9e\u4f8b\u5e76\u6e05\u7406\u3002<\/p>\n<ul>\n<li>\u8fd4\u56de\u503c:<br \/>\n<code>promise<\/code> promise\u5bf9\u8c61,\u5728\u6a21\u6001\u7a97\u53e3\u5b8c\u6210\u52a8\u753b\u540e\u5f97\u5230\u89e3\u6790<\/li>\n<\/ul>\n<pre>isShown()<\/pre>\n<ul>\n<li>\u8fd4\u56de\uff1a\u5e03\u5c14\u503c\uff0c\u7528\u4e8e\u5224\u65ad\u6a21\u6001\u7a97\u53e3\u662f\u5426\u663e\u793a\u3002<\/li>\n<\/ul>\n<hr>\n<h2>\n\u5b9e\u4f8b<\/h2>\n<h3>HTML \u4ee3\u7801<\/h3>\n<pre>\n&lt;html ng-app=\"ionicApp\"&gt;\n  &lt;head&gt;\n    &lt;meta charset=\"utf-8\"&gt;\n    &lt;meta name=\"viewport\" content=\"initial-scale=1, maximum-scale=1, user-scalable=no, width=device-width\"&gt; \n    \n    &lt;title&gt;\u83dc\u9e1f\u6559\u7a0b(runoob.com)&lt;\/title&gt;\n    &lt;link href=\"http:\/\/www.runoob.com\/static\/ionic\/css\/ionic.min.css\" rel=\"stylesheet\"&gt;\n\u00a0\u00a0\u00a0\u00a0&lt;script src=\"http:\/\/www.runoob.com\/static\/ionic\/js\/ionic.bundle.min.js\"&gt;&lt;\/script&gt;\n  &lt;\/head&gt;\n  &lt;body ng-controller=\"AppCtrl\"&gt;\n    \n    &lt;ion-header-bar class=\"bar-positive\"&gt;\n      &lt;h1 class=\"title\"&gt;Contacts&lt;\/h1&gt;\n      &lt;div class=\"buttons\"&gt;\n        &lt;button class=\"button button-icon ion-compose\" ng-click=\"modal.show()\"&gt;\n        &lt;\/button&gt;\n      &lt;\/div&gt;\n    &lt;\/ion-header-bar&gt;\n    &lt;ion-content&gt;\n      &lt;ion-list&gt;\n        &lt;ion-item ng-repeat=\"contact in contacts\"&gt;\n          {{contact.name}}\n        &lt;\/ion-item&gt;\n      &lt;\/ion-list&gt;\n    &lt;\/ion-content&gt;\n    \n    &lt;script id=\"templates\/modal.html\" type=\"text\/ng-template\"&gt;\n      &lt;ion-modal-view&gt;\n        &lt;ion-header-bar class=\"bar bar-header bar-positive\"&gt;\n          &lt;h1 class=\"title\"&gt;New Contact&lt;\/h1&gt;\n          &lt;button class=\"button button-clear button-primary\" ng-click=\"modal.hide()\"&gt;Cancel&lt;\/button&gt;\n        &lt;\/ion-header-bar&gt;\n        &lt;ion-content class=\"padding\"&gt;\n          &lt;div class=\"list\"&gt;\n            &lt;label class=\"item item-input\"&gt;\n              &lt;span class=\"input-label\"&gt;First Name&lt;\/span&gt;\n              &lt;input ng-model=\"newUser.firstName\" type=\"text\"&gt;\n            &lt;\/label&gt;\n            &lt;label class=\"item item-input\"&gt;\n              &lt;span class=\"input-label\"&gt;Last Name&lt;\/span&gt;\n              &lt;input ng-model=\"newUser.lastName\" type=\"text\"&gt;\n            &lt;\/label&gt;\n            &lt;label class=\"item item-input\"&gt;\n              &lt;span class=\"input-label\"&gt;Email&lt;\/span&gt;\n              &lt;input ng-model=\"newUser.email\" type=\"text\"&gt;\n            &lt;\/label&gt;\n            &lt;button class=\"button button-full button-positive\" ng-click=\"createContact(newUser)\"&gt;Create&lt;\/button&gt;\n          &lt;\/div&gt;\n        &lt;\/ion-content&gt;\n      &lt;\/ion-modal-view&gt;\n    &lt;\/script&gt;\n    \n  &lt;\/body&gt;\n&lt;\/html&gt;\n<\/pre>\n<h3>CSS \u4ee3\u7801<\/h3>\n<pre>\nbody {\n  cursor: url('http:\/\/www.runoob.com\/try\/demo_source\/finger.png'), auto;\n}\n<\/pre>\n<h3>JavaScript \u4ee3\u7801<\/h3>\n<pre>\nangular.module('ionicApp', ['ionic'])\n\n.controller('AppCtrl', function($scope, $ionicModal) {\n  \n  $scope.contacts = [\n    { name: 'Gordon Freeman' },\n    { name: 'Barney Calhoun' },\n    { name: 'Lamarr the Headcrab' },\n  ];\n\n  $ionicModal.fromTemplateUrl('templates\/modal.html', {\n    scope: $scope\n  }).then(function(modal) {\n    $scope.modal = modal;\n  });\n  \n  $scope.createContact = function(u) {        \n    $scope.contacts.push({ name: u.firstName + ' ' + u.lastName });\n    $scope.modal.hide();\n  };\n\n});\n<\/pre>\n<p><a href=\"\/try\/tryit.php?filename=ionic_ion-ionicmodal\" target=\"_blank\"><button class=\"btn example-btn\">\u5c1d\u8bd5\u4e00\u4e0b \u00bb<\/button><\/a><\/p>\n<\/p><\/div>\n<\/p><\/div>\n<span>","protected":false},"excerpt":{"rendered":"<p class=\"excerpt\"><span itemprop=\"description\">ionic \u6a21\u6001\u7a97\u53e3 $ionicModal $ionicModal \u53ef\u4ee5\u906e\u4f4f\u7528\u6237\u4e3b\u754c\u9762\u7684&hellip;<\/span><\/p>\n<p class=\"more-link-p btn-align-right\"><a class=\"green zoom-btn\" href=\"https:\/\/www.puzi7.net\/?p=745\">Read More<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[37,26],"tags":[43,72,73,93],"class_list":["post-745","post","type-post","status-publish","format-standard","hentry","category-hybrid","category-mobile","tag-angular","tag-hybrid","tag-ionic","tag-mobile","zoom-theme-has-thumb"],"_links":{"self":[{"href":"https:\/\/www.puzi7.net\/index.php?rest_route=\/wp\/v2\/posts\/745","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.puzi7.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.puzi7.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.puzi7.net\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.puzi7.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=745"}],"version-history":[{"count":0,"href":"https:\/\/www.puzi7.net\/index.php?rest_route=\/wp\/v2\/posts\/745\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.puzi7.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=745"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.puzi7.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=745"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.puzi7.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=745"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}