2013-03-28 11 views
25

私は、投稿されるメッセージとまだ利用可能な文字数のスパンを含むテキストエリアを持っています。ng-classが適用されていません

<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>   

messageTextmaxMessageLengthmessageLengthAlertTresholdすべて$scopeで定義されている、と私はテキストエリアにテキストを挿入するときスパン内部カウンタはmessageText.lengthの値を変更し、正しく更新されています。

しかし、messageTextに含まれる値にかかわらず、CSSクラスmessage-lengthmessage-length-alertも私のスパンには適用されません。

message-length-alertのチェックを削除してみましたが、ng-class属性の値は{message-length: true}のままですが、とにかく適用されません。

私には何が欠けていますか?

答えて

68

クラス名を引用符で囲んでみてください。代わりに

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

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

をハッシュキーは文字列または変数のような名前でなければなりませんので、それがされてみてください。 (悪い英語のため申し訳ありません)

+2

クラス名にハイフンがある場合は、クラス名を引用符で囲んでください。そうでなければ、これは必要ありません。 – Sprose

関連する問題