2017-01-20 6 views
0

Я столкнулся с проблемой, когда я хочу отображать все ключи в ячейке таблицы, но ключи, которые уже находятся в моем db, будут отображаться с другим цветом фона; Я пробовал с ng-repeat дважды, но он не преуспевает, поскольку он повторяет существующие ключи;фильтровать два массива с ng-repeat в цикле

здесь the plunker, чтобы получить более глубокое понимание

и здесь соответствующий код

d.keys = ['a','b'] // from database 
keys = ['a','b','c','d'] // complete list 

<span ng-repeat="vk in keys"> 
    <span ng-repeat="dk in d.keys"> 
     <span ng-show="vk === dk" class="key {{ dk }}">{{ dk }}</span> 
     </span> 
     <span class="key">{{ vk }}</span> 
    </span> 
    </span> 

Пожалуйста, подсказать лучшее решение, если это возможно; Я прочитал некоторый метод фильтрации, но не понял.

ответ

2

Вы действительно хотите изменить класс для диапазона, который я считаю. Только один ng-повтор, а затем установите класс с ng-классом

<span ng-repeat="vk in keys"> 
    <span class="key" ng-class="d.keys.indexOf(vk) >= 0 ? vk : ''">{{ vk }} </span> 
</span> 
+0

Большое спасибо. На самом деле мне нужно ввести строковое имя класса, чтобы я написал '? '{{vk | нижний регистр}} '', и это работает как магия –