ionic3 loadingService.ts的使用及分享

版权声明:本文为博主原创文章,未经博主允许不得转载。转载注明出处。 https://blog.csdn.net/zuoyiran520081/article/details/79663731

首先,引入service服务:

import { LoadingService } from "./../../providers/LoadingService";//我的service存放的相对地址

然后在使用的页面进行声明(我是在setting.ts页面使用):

export class SettingPage {
  constructor(public navCtrl: NavController,
                      public Share: SharedDataService,
                      private loadingService: LoadingService) {
  }

使用:
this.loadingService.XXX(loadingService里面的具体的方法。)

下面贴出loadingService.ts的完整代码以供参考:

import { Injectable } from '@angular/core';
import { LoadingController, AlertController } from 'ionic-angular';

@Injectable ()
export class LoadingService {
    private loading;

    constructor(
        public loadingCtrl: LoadingController,
        private alertCtrl: AlertController ) {}

    presentLoadingDefault () {
        if(!this.loading){
            this.loading = this.loadingCtrl.create({
                content: '请稍等...'
            });
            this.loading.present();
        }
    }

    dismissLoadingDefault () {
        if(this.loading){
            this.loading.dismiss();
            this.loading = null;
        }
    }

    presentProgress (present) {
        if (present == 100) {
            this.loading.dismiss();
            this.loading = null;
            return;
        }
        if(!this.loading){
            this.loading = this.loadingCtrl.create({
                content: '已下载:' + present + '%'
            });
            this.loading.present();
        }

        this.loading.data.content = '已下载:' + present + '%';
    }

    presentMsg (msg) {
        let alert = this.alertCtrl.create({
           subTitle: msg,
        });
        alert.present();

        setTimeout(() => {
            alert.dismiss();
        }, 3000);
    }

    presentTip(title, msg) {
        var alert = this.alertCtrl.create({
            title: title,
            subTitle: msg,
            buttons: [{
                text: '确定',
                role: 'cancel',
                handler: () => {
                }
            }]
        });
        alert.present();
    }

    presentLoadingCustom () {
        let loading = this.loadingCtrl.create({
            spinner: 'hide',
            content: `
                <div class="custom-spinner-container">
                <div class="custom-spinner-box"></div>
                </div>`,
            duration: 5000
        });

        loading.onDidDismiss(() => {
            console.log('Dismissed loading');
        });

        loading.present ();
    }

    presentLoadingText () {
        let loading = this.loadingCtrl.create({
            spinner: 'hide',
            content: 'Loading Please Wait...'
        });

        loading.present ();

        setTimeout(() => {
        }, 1000);

        setTimeout(() => {
            loading.dismiss();
        }, 5000);
    }
}

猜你喜欢

转载自blog.csdn.net/zuoyiran520081/article/details/79663731