web-dev-qa-db-fra.com

AngularJS: Filtre ng-options n'ayant pas de valeurs spécifiques

Je veux filtrer sur une sélection comme ceci:

<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: Ajout du modèle de colonne:

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

Les colonnes sont utilisées pour plusieurs choses et pour optimiser mon code, j'ai besoin qu'il soit également dans un Select, mais sans les entrées dont le type est 'field' ni 'map'

Pourtant, je peux choisir parmi tout, même les entrées dont les types sont "champ" et "carte". Existe-t-il un moyen propre de le faire?

31
Romain

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>

Violon

À partir de docs:

"... Le prédicat peut être annulé en préfixant la chaîne avec!."

"Un objet modèle peut être utilisé pour filtrer des propriétés spécifiques sur les objets contenus dans le tableau. Par exemple, le prédicat {name:" M ", phone:" 1 "} renverra un tableau d'éléments dont le nom de propriété contient" M " "et téléphone de propriété contenant" 1 "..."

71
AlwaysALearner