2017-09-22 16 views
0

私はアンギュラ4の新機能です。他のnode_modulesを使わずに私のページにrecaptchaを追加しようとしています。ang 4 recaptcha not working

HTML

<div class="g-recaptcha" data-callback="onCaptchaComplete" data-sitekey="xxxxxxxxxxxx"></div> 

TS

private onCaptchaComplete(response: any) { 
    console.log('reCAPTCHA response recieved:'); 
    console.log(response.success); 
    console.log(response.token); 
    } 

しかし、私は私のミスがどこにあるか私を助けてくださいReCAPTCHA couldn't find user-provided function: onCaptchaComplete取得しています。

ありがとうございました。

+0

これはrecaptcha自体とは関係なく、onCaptchaComplete関数を見つけることができません。これには多くの理由があり、最終的にはそれをプライベートに設定し、その範囲にはないためです。 githubページにある公式の公開バグもあります(https://github.com/VividCortex/angular-recaptcha/issues/175)。 – Doomenik

答えて

1

あなたの関数はクラス内にあります。つまり、data-callbackで述べたように、グローバル関数(window.onCaptchaComplete)ではありません。

あなたの現在のアプローチが機能するには、グローバルに宣言する必要があります。たとえば、main.tsでこれを行うことができます。オプティマイザに注意してください。これは、関数名を最小限に抑えることができます。この関数を正しく構成するには、このようなツールを使用していますか。

一般的に、Angularを使用しているときにグローバル関数に依存するモジュールを使用するのは良い方法ではありません。別のモジュールを探してみることをお勧めします。