2017-04-12 42 views
0

我在Angular Application中工作。在應用程序初始化時,Recaptcha工作正常。同時按下瀏覽器的後退按鈕事件angular2,驗證碼沒有加載Angular2-Recaptcha未在瀏覽器返回事件中加載

在的package.json文件我使用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> 

登錄導航到下一個頁面後.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']); 
      }); 
    } 

} 

模塊

import { ReCaptchaModule } from 'angular2-recaptcha'; 

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

回答

1

我認爲,當組件加載再次

使用APP_INITIALIZER初始化現場變量site_key未初始化。

看看這個link

+0

任何想法如何實現這與reCaptcha?當加載另一個組件時,它在Angular2中失敗。 –

相關問題