Подтвердить что ты не робот

AngularJS: Фильтровать параметры ng, не имеющие определенных значений

Я хочу, чтобы фильтр был выбран следующим образом:

<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>

EDIT: добавление модели столбца:

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

Столбцы используются для нескольких вещей и для оптимизации моего кода мне нужно, чтобы он также находился в Select, но без записей, тип которых - "поле" или "карта"

Тем не менее, я могу выбрать все, даже те записи, которые являются типами "поле" и "карта". Есть ли чистый способ сделать это?

4b9b3361

Ответ 1

AngularJS NOT Filter

<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 "..."