Подтвердить что ты не робот

Ng-класс не применяется

У меня есть текстовая область, содержащая сообщение для публикации и диапазон с количеством доступных символов.

<textarea name="" cols="" rows="" maxLength="{{maxMessageLength}}" ng-model="messageText"/>
<div id="chatmessage-buttons">              
    <a ng-click="sendMessage()"><span>Invia</span></a>
<span ng-class="{message-length-alert: (messageText.length > messageLengthAlertTreshold), message-length: true}">{{maxMessageLength - messageText.length}}</span>
</div>          

messageText, maxMessageLength и messageLengthAlertTreshold все определены в $scope, а счетчик внутри диапазона обновляется правильно, когда я вставляю текст в текстовое поле, изменяя значение messageText.length.

Однако ни один класс css message-length и message-length-alert никогда не применяется к моему диапазону независимо от значения, содержащегося в messageText.

Я также попытался удалить проверку для message-length-alert, оставив атрибут ng-class только с {message-length: true}, но он все равно не применяется.

Что мне не хватает?

4b9b3361

Ответ 1

Попробуйте обернуть имя класса в кавычки. Вместо

ng-class="{message-length-alert: (messageText.length > messageLengthAlertTreshold), message-length: true}

Try

ng-class="{'message-length-alert': (messageText.length > messageLengthAlertTreshold), 'message-length': true}

Это потому, что хэш-ключ должен быть строковым или переменным именем. (Извините за плохой английский)