Задание атрибута HTML-элемента условно - PullRequest
1 голос
/ 28 марта 2019

У меня есть таблица данных, которая доступна для редактирования.Одним из редактируемых столбцов является поле ввода md.Я могу достаточно легко добавить md-maxlength="80", чтобы показать счетчик символов.Учитывая, что эта таблица данных выполнена с помощью UI-Grid (этот код здесь не актуален), он применяет счетчик ко всем md-входам в этом столбце.Что я действительно хочу, так это чтобы показывать счетчик персонажей только в фокусе.Это использует Angular 1.X.

Я уже получил это, но я не знаю, может ли выражение ng-class принимать что-либо, кроме классов CSS.


<md-input
    ng-init="focused=false"
    ng-class="{'md-maxlength=80': focused}"
    ng-focus="focused=true"
    ng-blur="focused=false"
    ...
</md-input>

1 Ответ

1 голос
/ 28 марта 2019

Если я правильно понимаю, вы хотите добавить атрибут md-maxlength="80", когда focused равно true. Прямо сейчас вы пытаетесь установить атрибут как класс CSS, который не имеет смысла, поскольку у вас не может быть <div class="myClass md-maxlength='80'">

Почему бы просто не установить значение свойства md-maxlenth условно? Установите значение 80, когда focused=true, и установите значение null в противном случае. Возможно, установите для него значение 0 или другое значение, которое имеет смысл для элемента управления md-input, поскольку я не знаком с ним.

<md-input
    ng-init="focused=false"
    md-maxlength="focused ? 80 : null"
    ng-focus="focused=true"
    ng-blur="focused=false"
    ...
</md-input>
...