2017-09-19 42 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

完美。谢谢。 –