Я использую контроллер для установки изображения значков для каждого списка в моей директиве ng-repeat. В настоящее время $ scope.icon_level переопределяет все остальные значения с последним значением, заданным для области. Как я могу убедиться, что каждый список получает свое значение $ scope.icon_level и не заменяется следующим значением?
HTML:
<ul class="dropdown-menu" aria-labelledby="dropdownMenu1">
<li ng-repeat="exemplifier in exemplifiers | orderBy:'-average_score' | limitTo:3" ng-class="exemplifier.section"><a href="#"><img ng-src="{{icon_level}}" width="30" class="{{exemplifier.section}}"/>{{exemplifier.exemplifier}}</a></li>
</ul>
Как установить значение области:
angular.module('ciscoImaDashboardApp').controller('keyCtrl', function ($scope, dummyData) {
var exemplifiers = dummyData.exemplifier_data;
for (var i = 0; i < exemplifiers.length; i++) {
if(exemplifiers[i].average_score < 3) {
$scope.icon_level = "images/[email protected]";
}
else if(exemplifiers[i].average_score < 6) {
$scope.icon_level = "images/[email protected]";
}
else if(exemplifiers[i].average_score < 9) {
$scope.icon_level = "images/[email protected]";
}
}
});
Я собирался выработать пару вариантов, которые позволяли бы решать ой вопрос, но мне тяжело, так как ваш пример на самом деле не имеет смысла. во-первых, вы повторяете «exampleplifier_data» в своем контроллере, но «примеры» в своем HTML (можно предположить, что «примеры» находятся в '$ scope', но, похоже, не совпадают). Во-вторых, ваша сравнительная переменная 'ringToHighlight', по-видимому, представляет собой некоторое значение, не связанное с параметром' instanceplifier_data', который будет одинаковым для каждой итерации? – Claies
Вы решили решить свою проблему? любопытно, какой маршрут вы приняли к решению. – Claies
@ Claies спасибо! Это сработало. Первый вариант (: –