Ответ 1
<div ng-repeat="translator in users | filter : { languages : '!!' }">
Объяснение:
Рассмотрим список, как показано ниже:
$scope.items = [
{
propertyOne: 'a',
propertyTwo: 'hello'
},
{
propertyOne: 'b',
propertyTwo: null
},
{
propertyOne: 'c',
propertyTwo: undefined
},
{
propertyOne: 'd'
}
];
'!!'
отфильтровывает объекты, имеющие определенное свойство или объекты, имеющие определенное свойство, которое не является undefined или null:
<div ng-repeat="item in items | filter : { propertyTwo : '!!' }">
{{item.propertyOne}}
</div>
<!-- outputs: a -->
'!'
отфильтровывает объекты, не имеющие определенного свойства или объекты, имеющие определенное свойство undefined или null:
<div ng-repeat="item in items | filter : { propertyTwo : '!' }">
{{item.propertyOne}}
</div>
<!-- outputs: b c d -->
Примечание. Он не работает для свойств со значениями, такими как 0, ложная или пустая строка ('').
EDIT: предыдущий ответ был отличным от примера plunkr. Я исправил их, заменив "!!" и "!".