web-dev-qa-db-fra.com

Erreur d'émission du résolveur `Erreur ERROR:" [objet Object] "`

J'ai un problème en ce qui concerne la mise en œuvre d'un résolveur sur mes routes car il n'a pas de problème jusqu'à ce que j'inclus InitialDataResolver sur mon module de routage.

pages-routing.module.ts

import { NgModule } from '@angular/core';
import { Routes, RouterModule } from '@angular/router';
import { FrontComponent } from '../layouts/front/front.component';
import { HomeComponent } from './home/home.component';
import { DocsComponent } from './docs/docs.component';
import { InitialDataResolver } from './../shared/resolvers/initial-data.resolver';

const routes: Routes = [
  {
    path: '',
    component: FrontComponent,
    children: [
      { path: '', component: HomeComponent },
      { path: 'docs', component: DocsComponent }
    ],
    resolve: {
      init: InitialDataResolver
    },
  }
];

@NgModule({
  imports: [ RouterModule.forChild(routes) ],
  exports: [ RouterModule ],
  providers: [ InitialDataResolver ]
})
export class PagesRoutingModule { }

initial-data.resolver.ts

import { Injectable } from '@angular/core';
import { ActivatedRouteSnapshot, Resolve, RouterStateSnapshot } from '@angular/router';
import { Observer } from 'rxjs/Observer';
import { AppInitService } from '../services/app-init.service';
import { Observable } from 'rxjs/Observable';

@Injectable()
export class InitialDataResolver implements Resolve<any> {

  constructor(private appInitService: AppInitService) {}

  resolve(route: ActivatedRouteSnapshot,
          state: RouterStateSnapshot): Observable<any> {
    return Observable.create((observer: Observer<any>) => {

      this.appInitService.init()
          .subscribe(data => {
            this.appInitService.preload();
            observer.next(data);
            observer.complete();
          });

    });
  }

}

L'erreur que je rencontre est ERROR Error: "[object Object]". voir l'instantané ci-dessous:  object Object Error

8
Riyenz

Ce manque d'erreur détaillée s'est produit lors de l'utilisation de Mozilla Firefox. vous devez donc basculer sur Google Chrome pour voir l'erreur spécifique. 

Pour plus de détails, consultez ce lien pour en savoir plus. 

47
Riyenz

Cette erreur est due à une mauvaise déclaration de routeur. Aussi erreur exacte ne viendra jamais dans Firefox. Vérifiez le fichier de route en chrome. # angularjs-route

0
amku91

L'erreur pourrait masquer des détails sur Firefox si vous construisez sans --prod et hôte sur un serveur Web, essayez de construire avec --prod si vous hébergez un serveur Web pour obtenir des détails sur l'erreur.

0
Mosta
resolve(route: ActivatedRouteSnapshot,
      state: RouterStateSnapshot): Observable<any> {
    return Observable.create((observer: Observer<any>) => {

      this.appInitService.init()
          .subscribe(data => {
            this.appInitService.preload();
            observer.next(data);
            observer.complete();
          });

    }).map(item => !!item)
}

Le code ci-dessus fonctionnera pour vous.

si votre version de rxjs est 6.x, vous utiliserez .pipe(map(item => !!item))

0
xsong

solution unique: trouver la fonction defaultErrorLogger dans dist/vendor.bundle.js et ajouter

for (var _i = 1; _i < arguments.length; _i++) {
    values[_i - 1] = arguments[_i];
}
console.log(arguments);
console.error.apply(console, values); code here

puis actualisez la page sans recompiler

0
Tomasz Ćwik