2017-01-26 5 views
0

У меня есть некоторые элементы, созданные ng-repeat. Я пытаюсь присвоить им динамический класс:AngularJS - Динамический тернарный оператор

<div ng-repeat="X in Xel"> 
    <div ng-repeat="Y in Yel"> 
      <img src="..." ng-class="trackKind(X,Y) == 1 ? 'A' : 'B'" /> 
    </div> 
</div> 

Этот тернарный оператор работает при загрузке страницы. Я назначен на другой элемент следующий код:

<div ng-click="changeTrack(X,Y)">Change</div> 

changeTrack() работает, чтобы изменить значение элемента trackKind в массиве, но нг-класса не обновляется ...

Первый вопрос: может ли Угловой быть таким? Второй вопрос: Если да, что мне делать?

С наилучшими пожеланиями,

NivekLR

+0

Чтобы ответить на первый вопрос: Да угловой может работать так. Чтобы ответить на второй вопрос, вам лучше всего вывести 'trackKind()' и 'changeTrack()' исходный код –

+0

Когда вы «проверяете» элемент (в инструментах dev), вы должны уметь видеть, какой класс применяется к элемент после вашего клика. Если вы не видите, что ваш класс применяется, тогда что-то может быть неправильным с кодом, если вы это сделаете, то, возможно, сделайте $ scope. $ Apply будет работать. Альтернативно, использование логики в ngstyle позволило решить некоторые из этих проблем. Я помню один такой случай, работая над проектом в Google (где ngstyle неодобрительно), где никто не мог объяснить, что, по-видимому, было простым совместным обменом, не работало, но ngstyle работал отлично. –

+0

Пока '' 'changeTrack()' '' '' '' trackKind() '' 'возвращает другое значение, ваш код должен работать. – Dario

ответ

0

Просто ошибка в моем коде ... Спасибо всем!

Смежные вопросы