У меня есть приложение с двумя контроллерами.
http://jsfiddle.net/waxolunist/UDf2m/4/
Вы видите, что я применяю логическое значение к области видимости. В зависимости от этой переменной я хочу применить класс с ng-class. Но это не работает вне ngview.
Это не работает:
<div ng-class="{'red': isRed}" >
<div ng-view></div>
</div>
Это работает:
<div>
<div ng-class="{'red': isRed}" ng-view></div>
</div>
Это работает, когда я применяю переменную к rootScope. Я также могу заставить его работать, когда я делаю isRed функцией, но затем эта функция вызывается при каждом щелчке несколько раз, что, как я подозреваю, вызывает проблемы с производительностью в более крупном приложении.
Как я могу правильно оценить ngclass вне ngview?
Обновлять:
Я собираю здесь возможные решения:
Рутскоп
Как упоминалось ранее и Franci, применение состояния к корневой области работает: http://jsfiddle.net/waxolunist/UDf2m/9/
Недостаток: загрязняет rootScope.
Функция
Сделайте это вызовом функции. http://jsfiddle.net/waxolunist/UDf2m/12/
Недостаток: функция вызывается очень, очень часто (4 раза в этом небольшом примере).