AngularJS:过滤ng-options没有特定值

时间:2013-11-25 10:10:36

标签: angularjs angularjs-filter

我想过滤这样的选择:

<select ng-model="test" ng-options="c as c.label group by c.type for c in columns
| filter:{c.type:'!field'} | filter:{c.type:'!map'}"></select>

编辑:添加列模型:

Columns = [
{
    name: "name",
    label: "Label",
    info: "Information displayed in help",
    type: "type",
    view: "html template",
    style: "min-width: 10em;",
    show: true
},
{
 ...
}
];

列用于多种操作并优化我的代码我需要它也在Select中,但没有类型为'field'或'map'的条目

然而,我可以选择所有内容,甚至是“字段”和“地图”类型的条目。 有干净的方法吗?

1 个答案:

答案 0 :(得分:71)

AngularJS NOT过滤器

<select ng-model="test" ng-options="c as c.label group by c.type for c in columns
    | filter:{ type : '!field' }
    | filter:{ type : '!map' }">
</select>

<强> Fiddle

来自 docs

“...可以通过在字符串前加上!来取消谓词。”

“模式对象可用于过滤数组包含的对象的特定属性。例如{name:”M“,phone:”1“}谓词将返回包含属性名称的项目数组“M”和属性电话包含“1”......“