我有一个textarea,其中包含要发布的消息以及仍然可用字符数的跨度。
<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
中定义,当我在textarea中插入文本时,跨度内的计数器会正确更新,从而更改价值messageText.length
。
但是,无论message-length
中包含的值是什么,css类message-length-alert
和messageText
都不会应用于我的范围。
我还尝试删除message-length-alert
的检查,只留下{message-length: true}
的ng-class属性,但无论如何都没有应用。
我错过了什么?
答案 0 :(得分:69)
尝试将类名包装在引号中。代替
ng-class="{message-length-alert: (messageText.length > messageLengthAlertTreshold), message-length: true}
尝试
ng-class="{'message-length-alert': (messageText.length > messageLengthAlertTreshold), 'message-length': true}
这是因为散列键必须是字符串或类似于变量的名称。 (抱歉英文不好)