ionic 加载动作


$ionicLoading 是 ionic 默认的一个加载交互效果。里面的内容也是可以在模板里面修改。

用法

  1. angular.module('LoadingApp', ['ionic'])
  2. .controller('LoadingCtrl', function($scope, $ionicLoading) {
  3. $scope.show = function() {
  4. $ionicLoading.show({
  5. template: 'Loading...'
  6. });
  7. };
  8. $scope.hide = function(){
  9. $ionicLoading.hide();
  10. };
  11. });

方法

显示一个加载效果。

  1. show(opts)
参数 类型 详情
opts object

loading指示器的选项。可用属性:

  • {string=} template 指示器的html内容。
  • {string=} templateUrl 一个加载html模板的url作为指示器的内容。
  • {boolean=} noBackdrop 是否隐藏背景。默认情况下它会显示。
  • {number=} delay 指示器延迟多少毫秒显示。默认为不延迟。
  • {number=} duration 等待多少毫秒后自动隐藏指示器。默认情况下,指示器会一直显示,直到触发.hide()

隐藏一个加载效果。

  1. hide()

API

属性 类型 详情
delegate-handle
(可选)
字符串

该句柄定义带有$ionicListDelegate的列表。

show-delete
(可选)
布尔值

列表项的删除按钮当前是显示还是隐藏。

show-reorder
(可选)
布尔值

列表项的排序按钮当前是显示还是隐藏。

can-swipe
(可选)
布尔值

列表项是否被允许滑动显示选项按钮。默认:true。

实例

HTML 代码:

  1. <html ng-app="ionicApp">
  2. <head>
  3. <meta charset="utf-8">
  4. <meta name="viewport" content="initial-scale=1, maximum-scale=1, user-scalable=no, width=device-width">
  5. <title>Ionic Modal</title>
  6.  
  7. <link href="http://www.shouce.ren/static/ionic/css/ionic.min.css" rel="stylesheet">
  8. <script src="http://www.shouce.ren/static/ionic/js/ionic.bundle.min.js"></script>
  9. </head>
  10. <body ng-controller="AppCtrl">
  11. <ion-view title="Home">
  12. <ion-header-bar>
  13. <h1 class="title">The Stooges</h1>
  14. </ion-header-bar>
  15. <ion-content has-header="true">
  16. <ion-list>
  17. <ion-item ng-repeat="stooge in stooges" href="#">{{stooge.name}}</ion-item>
  18. </ion-list>
  19. </ion-content>
  20. </ion-view>
  21. </body>
  22. </html>
  23.  

JavaScript 代码

  1. angular.module('ionicApp', ['ionic'])
  2. .controller('AppCtrl', function($scope, $timeout, $ionicLoading) {
  3.  
  4. // Setup the loader
  5. $ionicLoading.show({
  6. content: 'Loading',
  7. animation: 'fade-in',
  8. showBackdrop: true,
  9. maxWidth: 200,
  10. showDelay: 0
  11. });
  12. // Set a timeout to clear loader, however you would actually call the $ionicLoading.hide(); method whenever everything is ready or loaded.
  13. $timeout(function () {
  14. $ionicLoading.hide();
  15. $scope.stooges = [{name: 'Moe'}, {name: 'Larry'}, {name: 'Curly'}];
  16. }, 2000);
  17. });

$ionicLoadingConfig

设置加载的默认选项:

用法:

  1. var app = angular.module('myApp', ['ionic'])
  2. app.constant('$ionicLoadingConfig', {
  3. template: '默认加载模板……'
  4. });
  5. app.controller('AppCtrl', function($scope, $ionicLoading) {
  6. $scope.showLoading = function() {
  7. $ionicLoading.show(); //配置选项在 $ionicLoadingConfig 设置
  8. };
  9. });