ionic 背景層

我們經常需要在 UI 上,例如在彈出框、載入框、其他彈出層中顯示或隱藏背景層。

在元件中可以使用$ionicBackdrop.retain()來顯示背景層,使用$ionicBackdrop.release()隱藏背景層。

每次呼叫retain後,背景會一直顯示,直到呼叫release消除背景層。


例項

HTML 程式碼

<body ng-app="starter" ng-controller="actionsheetCtl" >
    <ion-pane>
        <ion-content >
            <h2 ng-click="action()">$ionicBackdrop</h2>
        </ion-content>
    </ion-pane>
</body>

JavaScript 程式碼

angular.module('starter', ['ionic'])

.run(function($ionicPlatform) {
  $ionicPlatform.ready(function() {
    // Hide the accessory bar by default (remove this to show the accessory bar above the keyboard
    // for form inputs)
    if(window.cordova && window.cordova.plugins.Keyboard) {
      cordova.plugins.Keyboard.hideKeyboardAccessoryBar(true);
    }
    if(window.StatusBar) {
      StatusBar.styleDefault();
    }
  });
})

.controller( 'actionsheetCtl',['$scope','$timeout' ,'$ionicBackdrop',function($scope,$timeout,$ionicBackdrop){

    $scope.action = function() {
       $ionicBackdrop.retain();
       $timeout(function() {    //預設讓它1秒後消失
         $ionicBackdrop.release();
       }, 1000);
    }; 
}])

顯示效果如下圖所示: