ng-class未被应用

Rai*_*baz 26 angularjs ng-class

我有一个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>          
Run Code Online (Sandbox Code Playgroud)

messageText,maxMessageLength并且messageLengthAlertTreshold都在$scope,并且当我在textarea中插入文本时更改值的范围内,并且跨度内的计数器正确更新messageText.length.

然而,无论是CSS类message-lengthmessage-length-alert都曾经申请过我的跨度,无论包含在价值的messageText.

我也尝试删除检查以message-length-alert保留ng-class属性{message-length: true},但是它仍然没有被应用.

我错过了什么?

ard*_*m-c 69

尝试用引号括起类名.代替

ng-class="{message-length-alert: (messageText.length > messageLengthAlertTreshold), message-length: true}
Run Code Online (Sandbox Code Playgroud)

尝试

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

这是因为散列键必须是字符串或类似于变量的名称.(抱歉英文不好)

  • 如果类名中有连字符,则只需将类名包装在引号中.否则你不需要这个. (3认同)