2017-09-19 43 views
1

我使用的角度和我有禁用它,直到用戶的NG-disabled屬性按鈕在兩個文本字段中輸入文本:角NG-禁用按鈕

<input ng-model="name" type="text"> 
<input ng-model="password" type="password"> 

<input ng-disabled="name == '' || password == ''" type="submit" value="Log in" /> 

這工作正常,但是當頁面第一次加載按鈕時,角度加載和瀏覽器處理條件時啓用了幾分之一秒。

我希望按鈕在頁面加載的瞬間被禁用,並且只有在用戶在這兩個字段中輸入文本後才啓用。

有誰知道是否有解決方案嗎?

+0

請查看角度自定義生命週期掛鉤。 https://angular.io/guide/lifecycle-hooks。您可以使用elementRef獲取按鈕的引用,並可能在這些生命週期鉤子上添加自定義邏輯。 NgOnInit()是你可以看到的 –

回答

2

如果你想輸入被已被禁用,即使角時仍然加載,然後使已被禁用的輸入:

<input disabled ng-disabled="name == '' || password == ''" type="submit" value="Log in" /> 

但是,如果你想被禁用的輸入,避免用戶點擊它在角度由於安全原因使其禁用之前,請注意這是無用的。具有最低知識的任何用戶都可以使用瀏覽器控制檯從輸入中刪除disabled,並在需要時進行點擊。

這只是美學,我個人會鼓勵你試着理解爲什麼按鈕需要這麼長時間才能禁用。它不應該花費足夠的時間,以便用戶可以注意到它。

+0

完美。謝謝。 –