У меня есть некоторые элементы, созданные 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
Чтобы ответить на первый вопрос: Да угловой может работать так. Чтобы ответить на второй вопрос, вам лучше всего вывести 'trackKind()' и 'changeTrack()' исходный код –
Когда вы «проверяете» элемент (в инструментах dev), вы должны уметь видеть, какой класс применяется к элемент после вашего клика. Если вы не видите, что ваш класс применяется, тогда что-то может быть неправильным с кодом, если вы это сделаете, то, возможно, сделайте $ scope. $ Apply будет работать. Альтернативно, использование логики в ngstyle позволило решить некоторые из этих проблем. Я помню один такой случай, работая над проектом в Google (где ngstyle неодобрительно), где никто не мог объяснить, что, по-видимому, было простым совместным обменом, не работало, но ngstyle работал отлично. –
Пока '' 'changeTrack()' '' '' '' trackKind() '' 'возвращает другое значение, ваш код должен работать. – Dario