2017-07-20 2 views
2

J'utilise le module angular2-busy qui est référencé par un abonnement d'un Observable. J'ai la variable busy de type Subscription.Utiliser angular2-busy avec ActivatedRoute

this.busy = this.route.paramMap.switchMap((params: ParamMap) => 
this.httpService.getSiteData(+params.get(''))) 
.subscribe() 

Avec le code actuel, l'écran de chargement se bloque même après le chargement des données. Je sais que c'est un problème avec l'utilisation du route de type ActivatedRoute sur mes autres appels où il est simplement attaché à l'abonnement Observable, cela fonctionne. Y a-t-il un moyen de contourner ceci?

Répondre

1

Je résolu ce problème en brisant mon code en deux parties:

this.route.params.subscribe(params => {this.site_no_temp = 
+params['']}); 

Et puis en utilisant cette site_no_temp variable dans le service http réel que j'ai pu attribuer à busy.

this.busy = this.httpService.getSiteData(this.site_no_temp) 
.subscribe()