2013-03-28 16 views
25

Mam pole tekstowe zawierające wiadomość do opublikowania i rozpiętość z wciąż dostępną liczbą znaków. wszystkoNie stosuje się klasy 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 i messageLengthAlertTreshold są zdefiniowane w $scope, a licznik w środku rozpiętości jest aktualizowana poprawnie kiedy wstawić tekst w textarea, zmieniając wartość messageText.length.

Jednak ani klasa css message-length, ani message-length-alert nie są stosowane do mojego zakresu, niezależnie od wartości zawartej w messageText.

Próbowałem również usunąć test dla message-length-alert, pozostawiając atrybut klasy ng tylko {message-length: true}, ale i tak nie został on zastosowany.

Czego mi brakuje?

Odpowiedz

68

Spróbuj zawrzeć nazwę klasy w cudzysłowie. Zamiast

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

Spróbuj

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

to dlatego klawisz krzyżyka musi być nazwą zmiennej ciąg lub podobne. (Przepraszamy za zły angielski)

+2

Wystarczy zawijać nazwę klasy w cudzysłowie, jeśli w nazwie klasy znajduje się łącznik. W przeciwnym razie tego nie potrzebujesz. – Sprose

Powiązane problemy