2017-04-12 15 views
0

私はAngular Applicationで作業しています。アプリケーションが初期化されている間、Re​​captchaは正常に動作しています。ボタンイベントangular2-reCAPTCHAのはPackage.jsonファイルでAngular2-Recaptchaがブラウザのバックイベントで読み込まれません

をロードしていない私は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で失敗します。 –

関連する問題