2013-08-19 4 views
3

У меня есть сайт компании, который я разрабатываю с AngularJS и у меня возникли некоторые проблемы с ng-classAngularJS нг-класс не применяя стили CSS

Вот мой HTML:

<a href="timeEntry.php" ng-class="{{(userRole.admin) ? '' : 'inactive'}}"> 
    LINK 
</a> 

CSS:

.inactive { 
    pointer-events : none; 
    cursor   : default; 
} 

Chrome Проверьте элемент:

<a href="timeEntry.php" ng-class="inactive"> 
    LINK 
</a> 

Очевидно, что я протестировал class="inactive", и он работает так, как должен, источник взгляда Chrome, похоже, показывает мне что-то, что должно работать, но оно не применяется.

ответ

5

Предполагая, что userRole.admin является логическим, это должно работать

<a href="timeEntry.php" ng-class="{ inactive: !userRole.admin }"> 
    LINK 
</a> 
+0

Ах, отлично. Спасибо. Я соглашусь, как только смогу. –

1

Я думаю, что это будет работать:

<a href="timeEntry.php" ng-class="{inactive:userRole.admin}">Link</a> 

Вы также можете иметь несколько условий в объекте, просто поставить запятые между ними. Формат cssClass:<boolean expression>

1

нг-класс ожидает, что выражение, так что в исходном коде часть внутри {{}} проводится оценка, и то угловая снова оценивает результат этого, пытаясь интерпретировать «неактивный» как имя переменной. Если вы хотите использовать трехкомпонентной просто опустить {{}} из исходного кода

<a href="timeEntry.php" ng-class="userRole.admin ? '' : 'inactive'"> 
LINK 

Но для этого конкретного примера решения, предложенные другими, используя формат объекта, являются предпочтительными.

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