У меня есть объект, который выглядит так:
$scope.things = [
{
name: 'Bob!',
short_name: 'bob',
info: 'something something'
},
{
name: 'Steve',
short_name: 'steve',
info: 'something something something'
},
];
Я перебираю их вот так и добавляю ng-click:
<div ng-repeat="thing in things" ng-click="addThing(thing.name, thing.short_name, thing_info" ng-class="thingClass(thing.name)">content goes here</div>
ng-click="addThing()"
в основном группирует значения и добавляет их к объекту.
При нажатии он должен добавить класс selected
- это работало отлично и денди, когда я не использовал многомерный объект, потому что он просто искал name
внутри объекта/массива (на данный момент я думаю, что это объект... но в то время это был массив)
Я не могу понять, как сделать эквивалент этого...
$scope.thingClass= function(name) {
if($scope.thingSelected.indexOf(name) != -1) {
return 'selected';
}
};
...с объектом в его нынешнем виде. Я попытался адаптировать несколько ответов отсюда, которые я нашел через Google, например:
$scope.teamClass = function(name) {
var found = $filter('filter')($scope.thingSelected, {id: name}, true);
if (found.length) {
return 'selected';
}
};
... но без радости.
Может ли кто-нибудь указать / подтолкнуть меня в правильном направлении?
$scope.thingSelected
одним из объектов в$scope.things
? - person wero   schedule 15.09.2015ng-click="addThing(thing.name, thing.short_name, thing.info)"
- person karaxuna   schedule 15.09.2015$scope.thingSelected
?? это массив объектов, содержащий каждый добавленный объект, или это массив?? - person Manish Kr. Shukla   schedule 15.09.2015