2017-04-12 1 views
0

Je travaille dans l'application angulaire. Recaptcha fonctionne correctement lorsque l'application est initialisée. Après la navigation à la page suivante en cas appuyant sur le bouton retour navigateur angular2-recaptcha ne se charge pasAngular2-Recaptcha ne se charge pas sur l'événement de retour du navigateur

Dans le fichier Package.json je suis en utilisant angular2-recaptcha

"dependencies": { 
    "@angular/animations": "^4.0.1", 
    "@angular/common": "^4.0.1", 
    "@angular/compiler": "^4.0.1", 
    "@angular/core": "^4.0.1", 
    "@angular/forms": "^4.0.1", 
    "@angular/http": "^4.0.1", 
    "@angular/platform-browser": "^4.0.1", 
    "@angular/platform-browser-dynamic": "^4.0.1", 
    "@angular/router": "^4.0.1", 
    "angular2-recaptcha": "^0.5.0", 
    } 

login.html

<div> 
<re-captcha (captchaResponse)="handleCorrectCaptcha($event)" [site_key]="siteKey" class="captcha"></re-captcha> 
</div> 

connexion .component.ts

import { ViewChild } from '@angular/core'; 
import { ReCaptchaComponent } from 'angular2-recaptcha'; 
import { Router, RouterModule } from "@angular/router"; 

export class RegisterComponent { 
    @ViewChild(ReCaptchaComponent) captcha: ReCaptchaComponent; 
    constructor(private route: Router,private service:loginservice){ 
    } 
    capcha:any; 
    handleCorrectCaptcha(response: string) { 
    this.service.getCaptcha(response) 
      .subscribe(
      res => { 
      this.capcha=res; 
      this.route.navigate(['/dashboard']); 
      }); 
    } 

} 

Module

import { ReCaptchaModule } from 'angular2-recaptcha'; 

@NgModule({ 
    imports: [...,ReCaptchaModule] 
    }) 

Répondre

1

Je pense que le site_key n'est pas initialisé lors du chargement de composants à nouveau

Utilisez APP_INITIALIZER pour initialiser les variables du site.

Vérifiez cette link

+0

Toute idée comment mettre en œuvre cette reCAPTCHA? Lors du chargement d'un autre composant, il échoue dans Angular2. –