2016-09-17 25 views
0

我在Angular 2中实现了slim loding进度条,但它不工作。当我点击它时,我将它设置为单击按钮,没有任何事情发生。所以请帮助我。ng2-slim-loading-bar不能在角2中工作

component.ts

import { Component } from '@angular/core'; 
import {SlimLoadingBarService} from 'ng2-slim-loading-bar'; 
@Component({ 
    selector:'customers', 
    pipes: [], 
    providers: [SlimLoadingBarService], 
    styles: [], 
    template: `<router-outlet></router-outlet>`, 
}) 

    export class Customers{ 

    constructor(private slimLoader:SlimLoadingBarService){} 

    gotoDetails():void{ 
    this.slimLoader.start(() => { 
      console.log('Loading complete'); 
     }); 
    } 


} 

当我打电话gotoDetails()什么都没有发生,我不知道是什么问题?

+0

您还没有阅读[NG2轻薄的教程](https://www.npmjs.com/package/ng2-slim - 上下-巴)。它明确指出了要做的步骤,包括一个带有示例的简单页面。 –

回答

0

这里是样品成分 -

import {Component} from '@angular/core'; 
import {SlimLoadingBarService} from 'ng2-slim-loading-bar'; 

@Component({ 
    selector: 'my-app', 
    template: ` 
     <h1>My First Angular2 App</h1> 
     <button (click)="gotoDetails()">Start Loading</button> 
     <ng2-slim-loading-bar></ng2-slim-loading-bar> 
    ` 
}) 

export class AppComponent { 

    constructor(private slimLoadingBarService: SlimLoadingBarService) { } 

    gotoDetails() { 
     this.slimLoadingBarService.start(() => { 
      console.log('Loading complete'); 
     }); 
    } 
} 

看看这会有所帮助。

1

在角度2中使用事件。像navigationStart,navigationEnd ...

试试这个代码:

import {Component, OnInit} from '@angular/core'; 
import { Router, NavigationStart, NavigationEnd, NavigationError, NavigationCancel } from '@angular/router'; 

import {SlimLoadingBarService} from 'ng2-slim-loading-bar'; 

@Component({ 
    selector: 'rb-root', 
    templateUrl: './app.component.html', 
    styleUrls: ['./app.component.css'], 
}) 
export class AppComponent implements OnInit , OnDestroy { 
    title = 'rb works!'; 

    constructor(private slimLoadingBarService: SlimLoadingBarService,private _router:Router){} 


    startLoading() { 
    this.slimLoadingBarService.start(() => { 
     console.log('Loading complete'); 
    }); 
    } 
    finishLoading(){ 
    this.slimLoadingBarService.complete(); 
    } 


    ngOnInit() { 
    // TODO: assign proper type to event 
    this._router.events.subscribe((event: any): void => { 
     this.navigationInterceptor(event); 
    }); 
    } 

    navigationInterceptor(event): void { 
    if (event instanceof NavigationStart) { 
     this.startLoading(); 
    } 
    if (event instanceof NavigationEnd) { 
     this.finishLoading(); } 
    if (event instanceof NavigationCancel) { 
     this.finishLoading(); 
    } 
    if (event instanceof NavigationError) { 
     this.finishLoading(); 
    } 
    } 



}