2017-09-22 160 views
0

我是角4新。我試圖在我的頁面添加recaptcha而不使用其他node_modules。角4 recaptcha不工作

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上也有一個官方的開放bug。 – Doomenik

回答

1

你的函數在一個類中,這意味着它不是一個全局函數(window.onCaptchaComplete),如你在data-callback中所述。

您需要爲您當前的工作方法進行全局聲明。例如,您可以在main.ts中執行此操作。小心優化器,儘管可能會最小化函數名稱:正確配置它們是爲了使用這種工具。

通常,在使用Angular時,使用依賴全局函數的模塊並不是一種好方法 - 您會失去Angular的全部重點。我建議你嘗試尋找一個不同的模塊,甚至可能已經爲Angular準備了一些模塊。