ionic Loading Action

$ionicLoading is Ionic's default loading interaction effect. The content inside can also be modified in the template.

Usage

angular.module('LoadingApp', ['ionic'])
.controller('LoadingCtrl', function($scope, $ionicLoading) {
  $scope.show = function() {
    $ionicLoading.show({
      template: 'Loading...'
    });
  };
  $scope.hide = function(){
    $ionicLoading.hide();
  };
});

Methods

Show a loading effect.

show(opts)
Parameter Type Details
opts object

Options for the loading indicator. Available properties:

  • {string=} templateThe HTML content of the indicator.
  • {string=} templateUrlA URL for loading an HTML template as the content of the indicator.
  • {boolean=} noBackdropWhether to hide the background. By default it will be shown.
  • {number=} delayHow many milliseconds to delay before showing the indicator. The default is no delay.
  • {number=} durationHow many milliseconds to wait before automatically hiding the indicator. By default, the indicator will be displayed until triggered.hide()。

Hide a loading effect.

hide()

API

Property Type Details
delegate-handle
(Optional)
string

This handle defines a list with$ionicListDelegatethe list.

show-delete
(Optional)
Boolean value

Whether the list item's delete button is currently shown or hidden.

show-reorder
(Optional)
Boolean value

Whether the list item's reorder button is currently shown or hidden.

can-swipe
(Optional)
Boolean value

Whether list items are allowed to be swiped to reveal option buttons. Default: true.


Example

HTML Code:

<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>Ionic Modal</title>

     <link href="../static/ionic/css/ionic.min.css" rel="stylesheet">
    <script src="../static/ionic/js/ionic.bundle.min.js"></script>
  </head>
  <body ng-controller="AppCtrl">
    
      <ion-view title="Home">
        <ion-header-bar>
          <h1 class="title">The Stooges</h1>
        </ion-header-bar>
        <ion-content has-header="true">
          <ion-list>
            <ion-item ng-repeat="stooge in stooges" href="../index.html">{{stooge.name}}</ion-item>
          </ion-list>
        </ion-content>
      </ion-view>
    
  </body>
</html>

JavaScript Code

angular.module('ionicApp', ['ionic'])
.controller('AppCtrl', function($scope, $timeout, $ionicLoading) {

  // Setup the loader
  $ionicLoading.show({
    content: 'Loading',
    animation: 'fade-in',
    showBackdrop: true,
    maxWidth: 200,
    showDelay: 0
  });
  
  // Set a timeout to clear loader, however you would actually call the $ionicLoading.hide(); method whenever everything is ready or loaded.
  $timeout(function () {
    $ionicLoading.hide();
    $scope.stooges = [{name: 'Moe'}, {name: 'Larry'}, {name: 'Curly'}];
  }, 2000);
  
});


$ionicLoadingConfig

Set default options for loading:

Usage:

var app = angular.module('myApp', ['ionic'])
app.constant('$ionicLoadingConfig', {
  template: '默认加载模板……'
});
app.controller('AppCtrl', function($scope, $ionicLoading) {
  $scope.showLoading = function() {
    $ionicLoading.show(); //配置选项在 $ionicLoadingConfig 设置
  };
});
Other Extensions