gpt4 book ai didi

javascript - AngularJS:判断没有输入(各种类型)是否为真的最简单方法

转载 作者:行者123 更新时间:2023-11-27 23:23:29 26 4
gpt4 key购买 nike

我正在为动态表构建过滤器,但还没有想出一种优雅的方式来告诉 Angular 没有设置过滤器。

假设我有一系列复选框。如果您选中一项,它会显示与该复选框值匹配的项目。如果您选中两项,它会显示与其中一项或另一项相匹配的项目。

当没有选中任何项目时,我想显示所有项目。

到目前为止,我只是笨拙地检查所有过滤器:

if(!filter.one && !filter.two && !filter.three){
return;
}

当我构建更多过滤器时,这变得很烦人。

我想做的是建立一个像这样的双模型:

<input type="checkbox" ng-model="filter.one; filterSet"/>

这样,每个复选框不仅告诉我设置了特定的过滤器,还告诉我设置了一个过滤器(任何过滤器)。

由于 AngularJS 不支持这一点,有没有简单的方法来检查我的复选框或单选是否已设置?

最佳答案

不确定是否有更优雅的方法来执行此操作,但我会采取的一种方法是创建具有 id/value/其他属性的输入对象列表。

然后您可以ng-repeat这些复选框(或者手动将它们一次放入一个,假设您知道它们在列表中的位置)。这还允许您循环遍历输入列表并让循环检查它们的值(而不是很长的 if 语句)。

这样,当您想要添加新的复选框时,在列表中创建一个新对象,循环将自动为您检查其值。看看这个 fiddle : https://jsfiddle.net/ahmadabdul3/84esk49L/1/

您还可以为每个输入对象赋予其自己的功能,具体取决于它应执行的功能。另外,可能会将这些输入放入他们自己的服务或工厂中。

<小时/>

更新了 fiddle ,其逻辑与您需要的类似:https://jsfiddle.net/ahmadabdul3/84esk49L/2/

关于javascript - AngularJS:判断没有输入(各种类型)是否为真的最简单方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35181028/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com