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);
    }; 
}])

表示効果は下図のようになります:

その他の拡張