检查数组是不是为空,因此禁用按钮[重复]
Posted
技术标签:
【中文标题】检查数组是不是为空,因此禁用按钮[重复]【英文标题】:Check if an array is empty hence disable a button [duplicate]检查数组是否为空,因此禁用按钮[重复] 【发布时间】:2017-12-09 09:15:32 【问题描述】:如果数组 isemty 但失败,我会尝试禁用按钮
<button [disabled]="(users.length ==0 )?true:false">Send mass emails</button>
在 ts 文件中
users: UsersModel[];
上面会报错
Bindings cannot contain assignments at column
如果数组为空,我如何禁用该按钮
【问题讨论】:
不确定 angular2,但我猜 angular1 有ng-enable
。 angular2 也必须有类似的东西。也只是一个 POV,但使用函数而不是内联表达式总是更好。这样,您将保持视图整洁,代码更加模块化
【参考方案1】:
您似乎没有在组件中初始化 users: UsersModel[]
数组,因此它以 undefined
的形式返回,并且您正在尝试访问未定义对象/数组的 length
属性。如果users
数组尚未初始化或长度等于0,请尝试以下禁用按钮:
<button type="button" [disabled]="!users || users.length === 0">Send Mass Emails</button>
这是plunkr 的实际演示。
您还可以考虑将 user
数组初始化为组件中的空数组:
users: UsersModel[] = [];
然后您可以简单地根据用户长度为零/虚假来禁用/启用按钮:
<button type="button" [disabled]="!user.length">Send mass emails</button>
这是一个 plunkr 演示将 users
数组初始化为空数组并检查长度以相应地禁用按钮。
希望对您有所帮助!
【讨论】:
【参考方案2】:<button [disabled]="users.length===0?true:false">Send mass emails</button>
您可以将条件添加到禁用标记,如下所示。即使您可以检查用户数组,然后检查长度,如
<button [disabled]="!user || users.length===0?true:false">Send mass emails</button>
【讨论】:
缺少解释。 -1。没有解释的答案是不完整的。请发布答案,解释您的解决方案解决的什么和原因 @Rajesh 它非常不言自明 对你和我来说,是的。但 SO 是适合所有人的地方。你在为读者回答,你不能确定读者的水平。因此解释。以上是关于检查数组是不是为空,因此禁用按钮[重复]的主要内容,如果未能解决你的问题,请参考以下文章
Javascript:检查对象是不是没有属性或映射/关联数组是不是为空[重复]