2014-09-26 2 views
2

У меня есть текстовое поле, на котором я применил максимальную директиву длины угловой:нг скрывать автоматически запуск на поле становится недействительным

<textarea placeholder="Quote text here" ng-model="quote.text" ng-maxlength="400" name="text"></textarea> 

Теперь я также с указанием количества слов с помощью углового ng-show и ng-hide директиву :

<div class="row word-count"> 
    <h5>Word count :</h5> 
    <h5 ng-show="quote.text.length > 0">{{quote.text.length}}</h5> 
    <h5 ng-hide="quote.text.length > 0" class="ng-hide">0</h5> 
</div> 

проблема заключается в том, что как только количество слов превышает директиву макс-дЛИНА ng-show и ng-hide автоматически срабатывает в обратном. Есть ли способ остановить это?

+0

Вы управляете отрицательной длиной? Почему есть ng-show и ng-hide? Просто распечатайте quote.text.length. Будет 0, когда слов нет, правда? Вам просто нужно использовать текст по умолчанию для empt string. –

ответ

1

Как насчет использования добротного старого HTML maxlength?

<textarea placeholder="Quote text here" ng-model="quote.text." name="text" maxlength="400"></textarea> 

<div class="row word-count"> 
    <h5>Word count :</h5> 
    <h5 ng-show="quote.text.length > 0">{{ quote.text.length }}</h5> 
    <h5 ng-hide="quote.text.length > 0" class="ng-hide">0</h5> 
</div> 

Я лично не понимаю необходимость ng-maxlength, поскольку он просто возвращает ошибку, но позволяет продолжать печатать!

+1

Поддержка maxlength для элемента textarea является совершенно новой. Е.Г. он не работает в IE8/IE9. – erGo

+0

ах я вижу. Спасибо за информацию – Kousha

+0

спасибо за ваши ребята, поскольку я строю приложение cordova, так что ему просто нужно работать в webkit –

0

Это ожидаемое поведение для угловой проверки. Если проверка не выполняется, соответствующая модель возвращает неопределенный.

Вы можете попробовать его на Угловом сайте here.

Кроме того, если вам необходимо поддерживать IE8/IE9, here is an example of own maxlength directive.

Смежные вопросы