91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Ionic最佳實踐-使用模態窗口modal

發布時間:2020-07-07 04:47:01 來源:網絡 閱讀:859 作者:betree 欄目:開發技術

原文地址:Ionic最佳實踐-使用模態窗口modal

模態窗口的結構

在Ionic中,模態窗口通過$ionicModal提供。他易于使用且非常強大,詳細信息請參考$ionicModal文檔。Ionic中的模態窗口可以使用模板字符串或URL創建。本文將使用URL。

模態窗口創建時綁定到一個scope,這個scope可以用來傳遞數據。然而,在更復雜的情況下,通過服務來訪問共享數據是最好的做法。

 

制作模態窗口的標記

創建模態窗口非常簡單。首先,讓我們來創建我們的用戶界面。這個小例子將會展示一條聯系人信息,點擊后允許對它進行編輯。

<ion-header-bar class="bar-energized">
 <h2 class="title">Contact Info</h2>
</ion-header-bar>
<ion-content>
 <div class="card" ng-controller='MainCtrl' ng-click="openModal()">
  <div class="item item-divider">
   `contact`.`name`
  </div>
  <div class="item item-text-wrap">
   `contact`.`info`
  </div>
 </div>
</ion-content>

 現在,看起來還沒有什么特別的,唯一與模態窗口相關的是一個scope函數:openModal()。還缺少我們的modal部分。直接在當前標記中添加它。

<script id="contact-modal.html" type="text/ng-template">
  <div class="modal">
    <ion-header-bar>
      <h2 class="title">Edit Contact</h2>
    </ion-header-bar>
    <ion-content>
      <div class="list">
        <label class="item item-input">
          <span class="input-label">Name</span>
          <input type="text" ng-model="contact.name">
        </label>
        <label class="item item-input">
          <span class="input-label">Info</span>
          <input type="text" ng-model="contact.info">
        </label>
      </div>
      <button class="button button-full button-energized" ng-click="closeModal()">Done</button>
    </ion-content>
  </div>
</script>

在生產環境中,你可能想把模板標記放入獨立文件中或把它們添加到模板緩存中。與Ionic中其他使用模板的部分一樣,Angular將先從模板緩存中搜索需要的文件。

顯示模態窗口

模態窗口的控制器代碼非常簡單。確保在控制器中注入依賴項$ionicModal。

 

app.controller('MainCtrl', function($scope, $ionicModal) {
  $scope.contact = {
    name: 'Mittens Cat',
    info: 'Tap anywhere on the card to open the modal'
  }
  $ionicModal.fromTemplateUrl('contact-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();
  };
  $scope.$on('$destroy', function() {
    $scope.modal.remove();
  });
})

Ionic的模態窗口使用了一個異步deferred。這樣可以異步訪問模板緩存和構建模態窗口。我們可以為模態窗口提供一個scope對象,否則他將使用$rootScope。可以為模態窗口的打開動作指定過度動畫效果。官方文檔中描述了更多過度效果。

一旦模態窗口構建完畢,異步完成函數允許我們設置一個$scope.modal變量。模態窗口有一些函數。在本例中,我們關心show, hide和remove函數。remove函數特別重要。通過監聽scope對象的$destroy事件,我們可以確保對模態窗口對象進行垃圾回收。忽略它將會導致你的程序出現內存泄漏。

回顧

模態窗口是一個很強大的用戶界面組件,通過Ionic來展現和利用它是一件很輕松的事情。


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

西充县| 兰坪| 五指山市| 洛川县| 买车| 贵港市| 岫岩| 昆明市| 崇左市| 金溪县| 孟州市| 东丰县| 邯郸县| 靖西县| 虹口区| 白朗县| 龙岩市| 垫江县| 阳城县| 罗田县| 招远市| 泰和县| 通城县| 沙洋县| 荆州市| 涟源市| 泰州市| 巴林右旗| 新巴尔虎左旗| 扬州市| 永和县| 浑源县| 溧阳市| 锦州市| 榕江县| 新晃| 丹棱县| 喀什市| 贡觉县| 钦州市| 丰镇市|