26

我有一个文本区域,其中包含要发布的消息和一个仍然可用字符数的范围。

<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无论.message-length-alertmessageText

我还尝试删除检查以message-length-alert将 ng-class 属性保留为 just {message-length: true},但无论如何它都没有应用。

我错过了什么?

4

1 回答 1

69

尝试将类名括在引号中。代替:

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

尝试:

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

这是因为哈希键必须是字符串或类似变量的名称。

于 2013-03-28T11:44:54.163 回答