Angular4+ 页面切换 显示进度条

  使用ngx-progressbar 插件可以通过简单几句代码实现loading加载效果。

  npm install ngx-progressbar --save

  在app.module.ts文件中,我们需要引用NgProgressModule,然后添加到NgModule的imports中。在公共页面添加标签ng-progress,默认效果是红色。想要修改显示特效。可以查看https://www.npmjs.com/package/ngx-progressbar#ngprogresscomponent-options-inputs 。

  全局加载动作条代码:

  

 1 ...
 2 import { NgProgressModule, NgProgressBrowserXhr } from 'ngx-progressbar';
 3 import { BrowserXhr } from '@angular/http';
 4 ...
 5 
 6 @NgModule({
 7   declarations: [
 8     AppComponent
 9   ],
10   imports: [
11     BrowserModule,
12     NgProgressModule,
13     HttpModule
14   ],
15   providers: [
16     {provide: BrowserXhr, useClass: NgProgressBrowserXhr}
17   ],
18   bootstrap: [AppComponent]
19 })
20 export class AppModule { }

 

  而我们想要在单个接口中使用加载动作条。需要在http方法中使用progressService的方法:

ngOnInit() {
    const sampleUrl = 'http://bla.com';

    this.progressService.start();
    setTimeout(() => {
      this.progressService.set(0.1);
    }, 1000);
    setTimeout(() => {
      this.progressService.inc(0.2);
    }, 2000);
    this.http.get(sampleUrl)
      .subscribe((response) => {
        this.progressService.done();
        this.posts = response.json();
      });
}

  这样加载接口时,页面顶部会显示加载动画。

posted @ 2017-10-12 16:35  艾路  阅读(2673)  评论(0编辑  收藏  举报